是否可以使用迁移文件来更改列的“验证”元数据?我尝试了queryInterface.changeColumn方法,似乎它只能更改文档中提到的三个元数据(defaultValue,allowNull和type)。
我尝试在迁移文件的“ up”对象中执行以下操作:
queryInterface.changeColumn(
'tableName',
'columnName',
{
validate: {
is: /new_regex_validation/
}
}
)
Run Code Online (Sandbox Code Playgroud)
但是,当我运行“ sequelize db:migrate”时,上述尝试对我不起作用
为了简单起见,我将使用表定义详细说明我的问题:
我正在尝试更改这样的现有表:
var tableName = sequelize.define('tableName', {
columnName: {
type: DataTypes.STRING,
unique: true,
allowNull: false,
validate: {
is: /some_regex_validation/
}
}
})
Run Code Online (Sandbox Code Playgroud)
使用sequelize迁移到此:
var tableName = sequelize.define('tableName', {
columnName: {
type: DataTypes.STRING,
unique: true,
allowNull: false,
validate: {
is: /a_new-or-different_regex_validation/
}
}
})
Run Code Online (Sandbox Code Playgroud)
或仅在使用顺序迁移时删除验证元数据:
var tableName = sequelize.define('tableName', {
columnName: {
type: DataTypes.STRING,
unique: true,
allowNull: false
}
})
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
javascript migration database-migration database-table sequelize.js