bookshelf.js时间戳不工作

我现在正在试用bookshelf.js,并使用以下knex迁移创build了一个样本表:

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(); 

一切似乎工作,当我看着数据库,新的用户真的被保存,但时间戳列是NULL 。 在调用u.timestamp()之前调用u.save()似乎没有任何作用。

我在这里做错了什么?

哈,我终于明白了!

你必须告诉模型使用这样的时间戳:

 var User = bookshelf.Model.extend( { tableName: "users", hasTimestamps: true } );