Javascript 从sequelize模型“define”向sqlite添加约束
我正在使用SequelizeJS为我的nodejs应用程序创建模型。我在启动文件中定义了模型定义,并将在应用程序启动时sequelize.sync。 我的问题是,添加到字段中的数据有很多限制 例如:我有一个名为“source”的字段,它的类型是Sequelize.ENUM,它的值只能是['pod','must','cap']中的一个。 在sqlite中,我可以选择直接将这些限制放在DB中。如何从sequelize中执行相同的操作?可以在同步期间完成吗Javascript 从sequelize模型“define”向sqlite添加约束,javascript,node.js,sqlite,sequelize.js,Javascript,Node.js,Sqlite,Sequelize.js,我正在使用SequelizeJS为我的nodejs应用程序创建模型。我在启动文件中定义了模型定义,并将在应用程序启动时sequelize.sync。 我的问题是,添加到字段中的数据有很多限制 例如:我有一个名为“source”的字段,它的类型是Sequelize.ENUM,它的值只能是['pod','must','cap']中的一个。 在sqlite中,我可以选择直接将这些限制放在DB中。如何从sequelize中执行相同的操作?可以在同步期间完成吗 sequelize.define('mode
sequelize.define('model', {
source1: Sequelize.ENUM('pod', 'must', 'cap'),
source2: {
type: Sequelize.ENUM,
values: ['pod', 'must', 'cap']
}
上面的代码将在sequelize中创建一个枚举类型,该类型仅限于您给定的值。但是,sqlite,这意味着该字段将仅创建为文本:
..., `status` TEXT, ...
但是,这些值在插入之前仍将在javascript中进行验证
在mysql/pg中,将创建一个实际的枚举,仅限于以下值:
... `status` ENUM('pod', 'must', 'cap'), ...
使用枚举类型的示例也可以在以下位置的文档中找到: