2014-10-04 10 views
9

sto sperimentando bookshelf.js in questo momento, e ho creato una tabella di esempio utilizzando la seguente migrazione knex:bookshelf.js non timestamp di lavoro

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

Ho quindi definito un modello bookshelf.js:

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

e ha cercato di salvarlo:

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

Tutto sembra funzionare, e quando guardo il database, il il nuovo utente è stato effettivamente salvato, tuttavia le colonne timestamp sono NULL. Chiamare anche u.timestamp() prima di chiamare u.save() non sembra avere alcun effetto.

Cosa sto facendo di sbagliato qui?

risposta

19

Ha, ho finalmente capito!

Devi dire il modello da utilizzare timestamp in questo modo:

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