docs: function addField(fields) {
    for (const fieldName in fields) {
      if (reservedFieldNames.indexOf(fieldName) >= 0) {
        throw new InvalidDefinitionError(this.name, 'field %s is reserved name', fieldName);
      }
      const field = Type.createField(this, fieldName, fields[fieldName]);
      if (field.props.unique && field.props.category === 'entity') {
        let unique = field.props.unique,
          message = `${fieldName} is unique`;
        if (typeof unique === 'string') message = unique;
        const index = {
          name: `${this.table}_${field.props.column}`,
          fields: [fieldName], unique: true, message,
        };
        this.indexes.push(index);
      }
  
      this.fields[fieldName] = field;
    }
  }