是否可以在sails.js/waterline中重命名`createdAt`和`updatedAt`

And*_*die 11 node.js sails.js waterline

从SailsJS使用水线ORM,我对违约autoCreatedAtautoUpdatedAt被设置为false,但我仍然需要实现的功能只是用不同的字段名(DBA请求).有没有办法:

  1. 为自动生成的字段指定不同的列名称,或
  2. 手动模拟属性定义中的相同行为,或
  3. 我可以在模式中保留自定义字段,created_tsupdated_ts在数据库模式本身中使用触发器进行更新(但我仍然需要Waterline来读取它们)?

提前致谢.

Tri*_*eur 18

我刚开了两个拉请求来实现这个功能;

  • 一个到水线架构,以便架构构建器将此考虑在内
  • 一个用于水线,以便时间戳行为按预期工作.

您也可以关注此问题.

通过此合并,在您的模型中,而不是例如:

autoCreatedAt: false,
autoUpdatedAt: false,
attributes: {
    creationDate: {
        columnName: 'created_ts',
        type: 'datetime',
        defaultsTo: function() {return new Date();}
    },
    updateDate: {
        columnName: 'updated_ts',
        type: 'datetime',
        defaultsTo: function() {return new Date();}
    }
},
beforeUpdate:function(values,next) {
    values.updateDate = new Date();
    next();
}
Run Code Online (Sandbox Code Playgroud)

你可以这样做:

autoCreatedAt: 'created_ts',
autoUpdatedAt: 'updated_ts'
Run Code Online (Sandbox Code Playgroud)