重命名 node.js 续集时间戳列

Posted

技术标签:

【中文标题】重命名 node.js 续集时间戳列【英文标题】:Rename node.js sequelize timestamp columns 【发布时间】: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') 【参考方案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 要是有办法转移声誉就好了……我为自己感到羞耻。

以上是关于重命名 node.js 续集时间戳列的主要内容,如果未能解决你的问题,请参考以下文章

使用 node.js 重命名文件

如果目标文件不存在,则在 Node.js 中异步重命名文件

在 node.js 中重命名 json 对象名称

Node.js实现提取文件名重命名文件名

如何使用列表重命名熊猫中的列

如何仅将“未命名:”列重命名为数字索引