首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sequelize-cli如何在生成模型和迁移文件时不包含时间戳?

Sequelize-cli如何在生成模型和迁移文件时不包含时间戳?
EN

Stack Overflow用户
提问于 2018-02-04 04:39:00
回答 2查看 3.5K关注 0票数 3

只要遵循sequelize文档( http://docs.sequelizejs.com/manual/tutorial/migrations.html ),我们就可以使用sequelize-cli命令生成一个模型和一个迁移文件,如下所示:

代码语言:javascript
复制
sequelize model:generate --name Users --attributes firstName:string,lastName:string,bio:text

但是,在迁移文件中,可以找到两个附加的时间戳值,它们将被添加到数据库中:

代码语言:javascript
复制
  createdAt: {
    allowNull: false,
    type: Sequelize.DATE
  },
  updatedAt: {
    allowNull: false,
    type: Sequelize.DATE
  }

我知道我可以手动设置timestamp: false和/或删除这两个条目,但最好在生成模型/迁移文件时设置一个选项,使其不具有这些时间戳。有没有这样的办法?

EN

回答 2

Stack Overflow用户

发布于 2018-02-26 22:34:19

您也可以在config.json中设置这些选项。它适用于所有型号。

代码语言:javascript
复制
"dialect": "mysql",
"logging": false,
"define": {
   "timestamps": true
}
票数 3
EN

Stack Overflow用户

发布于 2020-10-07 03:04:57

使用--带下划线的参数表示sequelize-cli。

示例:

代码语言:javascript
复制
sequelize-cli model:generate --name User --attributes login:string,password:string,token:string,token_exp:date,firstName:string,lastName:string,email:string,phone:string --underscored

或者使用包含以下内容的文件'config.json‘:

代码语言:javascript
复制
{
  "define": {
    "underscored": true,
    "freezeTableName": true,
    "charset": "utf8",
    "dialectOptions": {
      "collate": "utf8_general_ci"
    },
    "timestamps": true,
    "createdAt": "created_at",
    "updatedAt": "updated_at",
    "createdBy": "created_by",
    "updatedBy": "updated_by"
  }
}

..and将其作为参数传递给命令行:

代码语言:javascript
复制
sequelize-cli model:generate --name User --attributes login:string,password:string,token:string,token_exp:date,firstName:string,lastName:string,email:string,phone:string --config config.json
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48601779

复制
相关文章

相似问题

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