読者です 読者をやめる 読者になる 読者になる

Railsガイドメモ4

programming

今日は第3章の後半を読んだ。


・revert を使用せずに同様のマイグレーションを自作することもできますが、その分余 計な手間がかかります (create_table と reversible の順序を逆にし、create_table を drop_table に置き換え、最後に up と down を入れ替えます)。revert はこれらを一 手に引き受けてくれます。

  • 3.4.1 ロールバック

    • bin/rake db:rollback
    • bin/rake db:rollback STEP=3
    • bin/rake db:migrate:redo STEP=3
  • なお、 annotate_models gem を使用すると、モデルファイルの冒頭にスキーマ情報の要約コメ ントが自動的に追加・更新されるようになるので便利です。

  • スキーマのダンプ方法は 2 種類あります。ダンプ方法は config/application.rb の config.active_record.schema_format で設定します。:sql または:ruby を指定で きます。

  • スキーマダンプはデータベーススキーマの情報源として信頼するに足るも のです。従って、スキーマファイルを Git などのソースコード管理の対象に加えることを 強く推奨します。

  • Active Record は、知的に動作すべきはモデルであり、データベースではないというコ ンセプトに基づいています。

  • Rails には初期データをデータベースに与えるためのシード機能があります。こ れは、db/seeds.rbファイルに若干のRubyコードを追加してrake db:seedを実行す るだけですぐに利用できます。 この方法なら、マイグレーションを使用するよりもずっとクリーンに空のアプリケー ションのデータベースを設定できます。