2013-02-13 5 views
5

私はデフォルトのジェネレータを使っていくつかのテーブルを作成していましたが、そのすべてがその定義にt.timestampを持っていたため、作成されたスキーマにはcreated_atフィールドとupdated_atフィールドもあります。 私はスキーマにこれらの2つのフィールドは必要ないと言われているので、元のcreate_table *ファイルに行き、t.timestamp行を取り出してdb:migrateschema:loadコマンドを実行しました しかし、 schema.rbファイル彼らはまだそこにいるのがわかります。スキーマからのタイムスタンプフィールドの削除

私はここで何をしていますか?お使いのモデルの名前であることtable

答えて

13

実行

rails g migration remove_timestamps_from_table created_at updated_at 

。これはyからxを削除するパターンに従っているので、適切なマイグレーションを生成するのに十分なほどスマートです。

は、次にテスト・データベースを準備するために、あなたの開発データベースと

rake db:test:prepare 

を更新する

rake db:migrate 

を実行して、あなたはすべてのセットです!

移行に関する詳細はhereをご覧ください。それでも問題が解決しない場合は、レールサーバーまたはデータベースサーバーの再起動を検討してください。

+3

さらに、最初にロールバックしていない場合は、元のマイグレーションに加えた変更を元に戻し、元のマイグレーションを編集しないでください。 – Tomdarkness

+0

ありがとう@Tomdarkness! – weltschmerz

関連する問題