首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从sequelize模型'define‘中向sqlite添加约束

问从sequelize模型'define‘中向sqlite添加约束
EN

Stack Overflow用户
提问于 2013-09-03 07:20:30
回答 1查看 623关注 0票数 1

我正在使用SequelizeJS为我的nodejs应用程序创建模型。我在启动文件中定义了模型定义,并在应用程序启动时使用sequelize.sync()。我的问题是,在被添加到字段中的数据中有许多限制,例如:我有一个名为‘Sequelize.ENUM’的字段,它的值应该仅为这些'pod‘、’必须‘、'cap’中的一个。在sqlite中,我可以选择将这些违禁品直接放到DB中。我怎么才能从后遗症中做同样的事情呢?能在sync()期间完成吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-03 12:24:13

代码语言:javascript
复制
sequelize.define('model', {
    source1: Sequelize.ENUM('pod', 'must', 'cap'),
    source2: {
        type: Sequelize.ENUM,
        values: ['pod', 'must', 'cap']
    }

上面的代码将在sequelize中创建枚举类型,该类型仅限于您给定的值。但是,sqlite does not natively support enums,这意味着字段将被创建为文本:

代码语言:javascript
复制
..., `status` TEXT, ...

但是,在插入这些值之前,仍将在javascript中验证这些值。

在mysql / pg中,将创建一个仅限于值的实际枚举:

代码语言:javascript
复制
... `status` ENUM('pod', 'must', 'cap'), ...

使用枚举类型的示例也可以在http://sequelizejs.com/documentation的文档中找到。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18586346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档