はい、それらは冪等であり、これらの 2 つのコマンドを実行すると、DB が「最新」になるだけであり、完了するまで実行すると、その後再度実行しても何も起こりません。
ただし、真新しいマシンをセットアップするより良い方法は、
rake db:setup
db:setup
これらのタスクを順番に実行するだけです:
db:create
db:schema:load
db:seed
Noticedb:setup
は実行されずdb:migrate
、単に実行されdb:schema:load
ます。移行は、既存の DB を新しいバージョンにアップグレードする場合にのみ必要です。これは、スキーマの 2 つのバージョン間の違いが記述されているためです。しかし、新しい DB を完全にセットアップしている場合は、移行の履歴全体をスキップして、スキーマの最新の状態にジャンプできます。つまり、現在のスキーマを .xml でロードしますdb:schema:load
。アプリケーションに関連する場合は、初期データを作成するためにファイルをdb:seed
実行します。db/seeds.rb
実行rake -T
してすべての Rails Rake タスクを詳細に記述するか、ActiveRecorddatabases.rake
ソース ファイルを表示してコードを直接読み取ります。