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