bookshelf.js时间戳不工作

问题描述:

我现在有bookshelf.js尝试,我用下面knex迁移创建了一个示例表:bookshelf.js时间戳不工作

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: "[email protected]" }); 
u.save(); 

一切似乎工作,当我看着数据库中,新用户确实已保存,但时间戳列是NULL。在致电u.save()之前也调用u.timestamp()似乎没有任何效果。

我在这里做错了什么?

哈,我终于明白了!

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

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