- Ruby / Rails関連
READ MORE
原著者の許諾を得て翻訳・公開いたします。
db:structure:load
とdb:structure:dump
タスクが非推奨化(翻訳)Rails 6.1でdb:structure:load
タスクとdb:structure:dump
タスクが非推奨化されました(#39470)。
config.active_record.schema_format
は、データベーススキーマをファイルにダンプするときのフォーマットを制御します。この設定で有効なオプションは:ruby
(デフォルト)と:sql
です。
rails db:schema:{dump,load}
を実行するとdb/schema.rbファイルをダンプdb/schema.rbファイルをダンプまたは読み込みます。rails db:structure:{dump.load}
を実行すると、config.active_record.schema_format
で指定した値にかかわらずdb/structure.sqlファイルをダンプまたは読み込みます。
rails db:schema:{dump,load}
コマンドとrails db:structure:{dump,load}
コマンドのどちらを実行した場合にも、config.active_record.schema_format
で指定した値に応じてrails db:schema:{dump,load}
が実行されるようになります。
つまり、rails db:schema:dump
またはrails db:structure:dump
を実行すると、db/schema.rb
ファイルをダンプします。
config.active_record.schema_format
で:sql
という値を指定してrails db:schema:dump
またはrails db:structure:dump
を実行すると、db/stucture.sql
ファイルをダンプします。
rails db:structure:{dump,load}
を実行すると非推奨の警告が表示されます(これらのコマンドはRails 6.2で削除される予定です)。
DEPRECATION WARNING: Using `bin/rails db:structure:load` is deprecated and will be removed in Rails 6.2.
Configure the format using `config.active_record.schema_format = :sql` to use `structure.sql`
and
run `bin/rails db:schema:load` instead
注意: 上の非推奨メッセージを表示するには、config.active_support.deprecation = :stderr
を設定しておく必要があります。
READ MORE
READ MORE
READ MORE