我现在正在尝试使用bookshelf.js,并使用以下knex迁移创建了一个示例表:
exports.up = function(knex,Promise) { return knex.schema.createTable( "users",function( table ) { table.increments(); table.timestamps(); table.string( "email" ); } ); };
然后我定义了一个bookshelf.js模型:
var User = bookshelf.Model.extend( { tableName: "users" } );
并试图保存它:
var u = new User( { email: "john.doe@example.com" } ); u.save();
一切似乎都有效,当我查看数据库时,新用户确实已保存,但timestamp-columns为NULL.在调用u.save()之前调用u.timestamp()似乎没有任何效果.
我在这做错了什么?
解决方法
哈,我终于明白了!
你必须告诉模型使用这样的时间戳:
var User = bookshelf.Model.extend( { tableName: "users",hasTimestamps: true } );