首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sequelize.INTEGER vs DataTypes.INTEGER

Sequelize.INTEGER vs DataTypes.INTEGER
EN

Stack Overflow用户
提问于 2017-07-21 18:39:11
回答 1查看 1.4K关注 0票数 6

code from 2016 using sequelize ORM中,我看到使用此模式定义的模型类型:

代码语言:javascript
复制
 module.exports = function(sequelize, DataTypes) {
     const Tasks = sequelize.define("Tasks", {  id: {
       type: DataTypes.INTEGER,
       [ ...etc.]

然而,在当前的sequelize文档中,您可以看到most prominently documentedSequelize.INTEGER (或其他类型,而不是整数)。同时,在当前的文档中,我还发现DataTypes仍然是documented/usedhere

在同一页面上使用的是Sequelize.INTEGER ...,这是只用于延迟还是什么?

我试着找出这是不是随着时间的推移而改变的,但我找不到它。

Sequelize.INTEGER为“当前解决方案”时,我是否可以将上面的代码更改为:

代码语言:javascript
复制
module.exports = function(sequelize, Sequelize) {
  const Tasks = sequelize.define("Tasks", {  id: {
    type: Sequelize.INTEGER,
    [ ...etc.]

或者,使用Sequelize作为参数会以某种方式使此失败吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-07 18:39:09

它们中的第二个参数只是sequelize包本身,您可以使用它们中的任何一个,这是您想要使用的

代码语言:javascript
复制
const Sequelize = require('sequelize');

您会注意到,在模型的index.js中(如果您按照建议进行了设置),您执行了类似于下面的操作,其中您传入了sequelize作为第二个参数。

代码语言:javascript
复制
const model = require(path.join(__dirname, file))(sequelize, Sequelize);

这将公开数据类型。你叫它什么并不重要。例如,我将其命名为abc,在下面的代码中,您可以使用任何名称

代码语言:javascript
复制
module.exports = (sequelize, abc) => {
  const Driver = sequelize.define('Driver', {
  firstName: {
       type: abc.STRING(),
       allowNull: false
  },
  last_name: {
       type: abc.TEXT,
       allowNull: true
  },
  email: {
      type: abc.TEXT,
      allowNull: false
  },
  password: {
      type: abc.TEXT,
      allowNull: true
  }

迁移也是如此。

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

https://stackoverflow.com/questions/45235521

复制
相关文章

相似问题

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