2013-02-13 12 views
5

Avevo utilizzato il generatore predefinito per creare alcune tabelle e tutti avevano lo t.timestamp nella loro definizione così lo schema che è stato creato ha anche campi created_at e updated_at. Ora mi è stato detto che non ho bisogno di questi due campi nel mio schema così sono andato ai file originali create_table * e ho estratto la riga t.timestamp da loro e ho eseguito i comandi db:migrate e Ma ancora quando vado al mio schema.rb posso vedere che sono ancora lì.Rimozione dei campi data/ora dallo schema

C'è qualcosa di sbagliato che sto facendo qui?

risposta

13

Run

rails g migration remove_timestamps_from_table created_at updated_at 

con table essere il nome del modello. Poiché questo è seguendo lo schema remove x da y, rails è abbastanza intelligente da generare la migrazione appropriata per te.

Poi gestita

rake db:migrate 

per aggiornare il database di sviluppo e

rake db:test:prepare 

per preparare il database di test, ed è tutto pronto!

Ulteriori informazioni sulle migrazioni here. Se si riscontrano ancora problemi, prendere in considerazione la possibilità di riavviare il server delle rotaie o il server del database.

+3

Inoltre, è anche necessario tornare indietro e ripristinare le modifiche apportate alle migrazioni originali, poiché non è necessario modificare le migrazioni già eseguite, soprattutto se non è stato eseguito il rollback per primo. – Tomdarkness

+0

Grazie a @Tomdarkness! – weltschmerz

Problemi correlati