【问题标题】:Rename node.js sequelize timestamp columns重命名 node.js 续集时间戳列
【发布时间】:2013-01-17 05:09:24
【问题描述】:

我刚刚开始使用 sequelize,但在映射现有数据库时遇到了一个小问题。

默认情况下,sequelize 会创建两个名为 createdAt 和 updatedAt 的数据时间列,有谁知道是否可以将这些列重命名为其他名称。比如……

products: sequelize.define('products', {
    timestamps: false,
    product_id: {
        type: Sequelize.INTEGER, 
        primaryKey: true, 
        autoIncrement: true
    },
    product_name: Sequelize.STRING,
    product_description: Sequelize.TEXT,
    product_created: Sequelize.DATE,
    product_updated: Sequelize.DATE
}),

这仍会自动修改创建和更新时的 product_created/product_updated 列。

【问题讨论】:

  • 也许是这个? renameColumn(tableName, attrNameBefore, attrNameAfter) This methods allows renaming attributes. migration.renameColumn('Person', 'signature', 'sig')

标签: javascript mysql node.js orm sequelize.js


【解决方案1】:

遗憾的是,这还不可能。你能在github上打开一个问题吗?我想这很容易实现。

谢谢:)

【讨论】:

    【解决方案2】:

    另一个更新来袭(两年过去了),你可以做you want

    products: sequelize.define('products', {
        timestamps: false,
        product_id: {
            type: Sequelize.INTEGER, 
            primaryKey: true, 
            autoIncrement: true
        },
        product_name: Sequelize.STRING,
        product_description: Sequelize.TEXT,
        product_created: Sequelize.DATE,
        product_updated: Sequelize.DATE
    }, {
      updatedAt: 'product_updated',
      createdAt: 'product_created'
    });
    

    【讨论】:

    • 好消息,遗憾的是我当时正在进行的项目已经遥遥无期,但很高兴知道未来!
    • @OliverRidgway 我知道这对以前的人不友好,但你能将此答案标记为未来参考的正确答案吗?
    • 当然,可怜的萨沙,给了我们续集,现在我们要剥夺他的名声!
    • @OliverRidgway 要是有办法转移声誉就好了……我为自己感到羞耻。
    猜你喜欢
    • 2019-05-14
    • 2019-05-10
    • 2016-05-06
    • 2013-12-17
    • 1970-01-01
    • 2022-08-11
    • 2014-12-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多