续集时间戳名称

J.D*_*.D. 10 node.js sequelize.js

我有一个关于sequelize的小问题,我无法绕过它,这让我感到很生气.

我正在使用camelCase来获取我的所有模型属性,但我正在使用snake case将它们保存到数据库中(postgres).除非我想使用sequelize timestamps选项,否则该部分工作正常.

如果我设置underscored: false,时间戳将持久保存到camelCase中的数据库.

如果我设置underscored: true,它们会被持久化为snake_case但是它们在模型上是snake_case.

我想要实现的是数据库中的snake_case和用于模型时间戳的模型上的camelCase.

感觉这两个选项是互斥的.

谢谢

Ser*_*kiy 7

是的你可以。关键是将模型设置和字段映射结合起来。那就是我要做的:定义模型时,添加以下字段映射:

createdAt: { type: Sequelize.DATE, field: 'created_at' },
updatedAt: { type: Sequelize.DATE, field: 'updated_at' },
deletedAt: { type: Sequelize.DATE, field: 'deleted_at' }
Run Code Online (Sandbox Code Playgroud)

然后在模型选项中:

timestamps: true,
underscored: true
Run Code Online (Sandbox Code Playgroud)

对我来说就像一个魅力。这样,您也paranoid可以正确使用选项。