是否可以使用迁移文件更改列的“验证”元数据?我尝试了queryInterface.changeColumn方法,似乎只能更改文档中提到的三个元数据(defaultValue、allowNull和type)。
我尝试在迁移文件的'up'对象中执行以下操作:
queryInterface.changeColumn(
'tableName',
'columnName',
{
validate: {
is: /new_regex_validation/
}
}
)
然而,当我运行“sequelize db:migrate”时,上述尝试对我无效。
为了简单起见,我将使用表定义来阐述我的问题:
我正在尝试像这样更改一个已经存在的表:
var tableName = sequelize.define('tableName', {
columnName: {
type: DataTypes.STRING,
unique: true,
allowNull: false,
validate: {
is: /some_regex_validation/
}
}
})
使用sequelize migration将其转换为以下内容:
var tableName = sequelize.define('tableName', {
columnName: {
type: DataTypes.STRING,
unique: true,
allowNull: false,
validate: {
is: /a_new-or-different_regex_validation/
}
}
})
或者在使用sequelize迁移时简单地删除验证元数据:
var tableName = sequelize.define('tableName', {
columnName: {
type: DataTypes.STRING,
unique: true,
allowNull: false
}
})
有什么想法吗?