我正在尝试使用 sequelize 创建迁移,该迁移将为枚举添加新值。
我们正在使用 SQL-Server 并在 sequelize 配置中将方言设置为“mssql”。
这是我编写的未生成有效 SQL 语句的代码:
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.changeColumn('myTable', 'myColumn', {
type: Sequelize.ENUM('A', 'B', 'C', 'D'),
allowNull: false
});
},
down: (queryInterface, Sequelize) => {
return queryInterface.changeColumn('myTable', 'myColumn', {
type: Sequelize.ENUM('A', 'B', 'C'),
allowNull: false
});
}
};
这是创建的无效的 SQL
ALTER TABLE [myTable] ALTER COLUMN [myColumn] VARCHAR(255) CHECK ([myColumn] IN(N'A', N'B', N'C', N'D'));
代码失败 Incorrect syntax near the keyword 'CHECK'
我不确定我还需要在迁移中添加什么才能使其工作,或者在查看文档和相关的 github 问题后,我的方言是否甚至支持这一点。
海绵宝宝撒
相关分类