rake db:structure:dump (db/structure.sql)
は rake db:schema:dump (db/schema.rb)
より詳しい情報を出力する(PostgreSQLで確認)
主なユースケースとしては古いプロジェクトのテーブルをそのまま使った時など
調べたきっかけとしては、標準の schema.rb
にはインデックスなどの情報は反映されているが、
以下のCONSTRAINTの情報が含まれていなかった
ADD CONSTRAINT tbl_asdf PRIMARY KEY (hoge, fuga, hogera, hogehoge);
DB変更時に structure.sql
を更新するようにするには
config/application.rbまたはconfig/environment.rbなど
Rails::Initializer.run do |config|
...
config.active_record.schema_format = :sql
end
参考:定義したDBのconstraintがrakaのspecタスクで反映されなかった件
気になった点はViewを定義したときは、改行がされないので見づらい