diff --git a/packages/plugins/@nocobase/plugin-users/src/server/migrations/20220818072639-add-users-phone-constraint.ts b/packages/plugins/@nocobase/plugin-users/src/server/migrations/20220818072639-add-users-phone-constraint.ts index f52a04b0ac..250bbe8c4f 100644 --- a/packages/plugins/@nocobase/plugin-users/src/server/migrations/20220818072639-add-users-phone-constraint.ts +++ b/packages/plugins/@nocobase/plugin-users/src/server/migrations/20220818072639-add-users-phone-constraint.ts @@ -12,15 +12,17 @@ export default class AddUsersPhoneMigration extends Migration { { type: 'string', name: 'phone', - unique: true, }, ], }); const tableNameWithSchema = collection.getTableNameWithSchema(); - const field = collection.getField('username'); - await this.db.sequelize.getQueryInterface().addColumn(tableNameWithSchema, field.columnName(), { - type: DataTypes.STRING, - }); + const field = collection.getField('phone'); + const exists = await field.existsInDb(); + if (!exists) { + await this.db.sequelize.getQueryInterface().addColumn(tableNameWithSchema, field.columnName(), { + type: DataTypes.STRING, + }); + } await this.db.sequelize.getQueryInterface().addConstraint(tableNameWithSchema, { type: 'unique', fields: [field.columnName()], diff --git a/packages/plugins/@nocobase/plugin-users/src/server/migrations/20230802170800-add-username-constraint.ts b/packages/plugins/@nocobase/plugin-users/src/server/migrations/20230802170800-add-username-constraint.ts index 9e3a5104d0..b6aa21fe09 100644 --- a/packages/plugins/@nocobase/plugin-users/src/server/migrations/20230802170800-add-username-constraint.ts +++ b/packages/plugins/@nocobase/plugin-users/src/server/migrations/20230802170800-add-username-constraint.ts @@ -12,15 +12,17 @@ export default class AddUserNameMigration extends Migration { { type: 'string', name: 'username', - unique: true, }, ], }); const tableNameWithSchema = collection.getTableNameWithSchema(); const field = collection.getField('username'); - await this.db.sequelize.getQueryInterface().addColumn(tableNameWithSchema, field.columnName(), { - type: DataTypes.STRING, - }); + const exists = await field.existsInDb(); + if (!exists) { + await this.db.sequelize.getQueryInterface().addColumn(tableNameWithSchema, field.columnName(), { + type: DataTypes.STRING, + }); + } await this.db.sequelize.getQueryInterface().addConstraint(tableNameWithSchema, { type: 'unique', fields: [field.columnName()],