You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Sequelize-CLI生成模型和迁移文件时不包含时间戳?

解决Sequelize-CLI生成模型/迁移时自动添加时间戳的问题

嘿,这个需求我太懂了——手动删字段或者改配置确实麻烦,其实sequelize-cli早就提供了两种方式在生成阶段直接禁用时间戳,不用事后修改:

1. 单模型生成时通过命令行参数禁用

生成单个模型的时候,直接加上--no-timestamps参数就行,比如:

sequelize model:generate --name User --attributes username:string,email:string --no-timestamps

这样生成的模型文件(models/user.js)里会自动带上timestamps: false配置,对应的迁移文件也不会出现createdAt和updatedAt字段。

2. 全局配置默认禁用所有模型的时间戳

如果你的项目里绝大多数模型都不需要时间戳,直接在Sequelize的配置文件里全局设置更高效:
找到项目根目录下的config/config.js(或者config.json,取决于你的初始化方式),在环境配置里添加define: { timestamps: false }:

module.exports = {
  development: {
    username: "your_username",
    password: "your_password",
    database: "your_db",
    host: "127.0.0.1",
    dialect: "mysql",
    // 全局禁用时间戳
    define: {
      timestamps: false
    }
  },
  production: {
    // 生产环境同理配置
    username: "prod_user",
    password: "prod_pass",
    database: "prod_db",
    host: "prod_host",
    dialect: "mysql",
    define: {
      timestamps: false
    }
  }
};

之后再生成任何模型,默认都不会带时间戳字段。如果某几个特殊模型需要时间戳,只需要在生成时加上--timestamps参数覆盖全局配置就行。


内容的提问来源于stack exchange,提问作者swiss_knight

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:23:53