2014-10-04 158 views
9

我現在有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()似乎沒有任何效果。

我在這裏做錯了什麼?

回答

19

哈,我終於明白了!

你必須告訴模型使用時間戳這樣的:

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