2014-10-04 19 views
9

Ja eksperymentuje z bookshelf.js teraz, i ja stworzyliśmy przykładową tabelę za pomocą następującego knex migracji:bookshelf.js nie znaczniki czasu pracy

exports.up = function(knex, Promise) { 
    return knex.schema.createTable("users", function(table) { 
     table.increments(); 
     table.timestamps(); 
     table.string("email"); 
    }); 
}; 

Następnie zdefiniowany model bookshelf.js:

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

i starał się go uratować:

var u = new User({ email: "[email protected]" }); 
u.save(); 

Wszystko wydaje się działać, a kiedy patrzę na bazie danych, Nowy użytkownik naprawdę został zapisany, jednak kolumny znaczników czasowych to NULL. Również wywołanie u.timestamp() przed wywołaniem u.save() nie wydaje się mieć żadnego efektu.

Co ja tu robię źle?

Odpowiedz

19

Ha, w końcu to dostałem!

Trzeba powiedzieć model używać znaczników czasu tak:

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