2013-02-13 19 views
5

Ich hatte Standardgenerator verwendet, um einige Tabellen zu erstellen, und alle hatten diese t.timestamp in ihrer Definition, so dass das Schema, das erstellt wurde, auch Felder created_at und updated_at hat. Jetzt wird mir gesagt, dass ich diese beiden Felder in meinem Schema nicht brauche, also ging ich zu den ursprünglichen create_table * Dateien und nahm t.timestamp Zeile von ihnen und lief die db:migrate und schema:load Befehle Aber immer noch, wenn ich zu meinem gehe schema.rb Datei Ich kann sehen, dass sie immer noch da sind.Zeitstempelfelder aus dem Schema entfernen

Ist etwas falsch, was ich hier mache?

Antwort

13

Run

rails g migration remove_timestamps_from_table created_at updated_at 

mit table Namen Ihres Modells zu sein. Da dies nach dem Muster x von y entfernen ist, ist rails intelligent genug, um die passende Migration für Sie zu generieren.

Dann laufen

rake db:migrate 

Ihre Entwicklung Datenbank zu aktualisieren und

rake db:test:prepare 

die Testdatenbank zu erstellen, und Sie sind alle gesetzt!

Lesen Sie mehr über Migrationen here. Wenn Sie weiterhin Probleme haben, sollten Sie Ihren Rails-Server oder Datenbankserver neu starten.

+3

Darüber hinaus möchten Sie auch die Änderungen wiederherstellen, die Sie an den ursprünglichen Migrationen vorgenommen haben, da Sie Migrationen, die Sie bereits ausgeführt haben, nicht bearbeiten sollten, insbesondere wenn Sie sie nicht zuvor zurückgesetzt haben. – Tomdarkness

+0

Danke @Tomdarkness! – weltschmerz

Verwandte Themen