我正在使用SequelizeJS为我的nodejs应用程序创建模型。我在启动文件中定义了模型定义,并在应用程序启动时使用sequelize.sync()。我的问题是,在被添加到字段中的数据中有许多限制,例如:我有一个名为‘Sequelize.ENUM’的字段,它的值应该仅为这些'pod‘、’必须‘、'cap’中的一个。在sqlite中,我可以选择将这些违禁品直接放到DB中。我怎么才能从后遗症中做同样的事情呢?能在sync()期间完成吗?
发布于 2013-09-03 12:24:13
sequelize.define('model', {
source1: Sequelize.ENUM('pod', 'must', 'cap'),
source2: {
type: Sequelize.ENUM,
values: ['pod', 'must', 'cap']
}上面的代码将在sequelize中创建枚举类型,该类型仅限于您给定的值。但是,sqlite does not natively support enums,这意味着字段将被创建为文本:
..., `status` TEXT, ...但是,在插入这些值之前,仍将在javascript中验证这些值。
在mysql / pg中,将创建一个仅限于值的实际枚举:
... `status` ENUM('pod', 'must', 'cap'), ...使用枚举类型的示例也可以在http://sequelizejs.com/documentation的文档中找到。
https://stackoverflow.com/questions/18586346
复制相似问题