[解決済み] rake db:migrate db:reset とdb:schema:loadの違いについて
質問
との違いは何ですか?
rake db:migrate
と
rake db:reset
は、私にはかなり明確です。私が理解していないのは、どのようにして
rake db:schema:load
は前者2つと異なる。
念のため、同じページで確認します。
-
rake db:migrate
- まだ実行されていないマイグレーションを実行します。 -
rake db:reset
- データベースをクリアする(おそらくはrake db:drop
+rake db:create
+rake db:migrate
) を作成し、新しいデータベースでマイグレーションを実行します。
解決方法は?
-
db:マイグレート は、まだ実行されていない(単一の)マイグレーションを実行します。
-
db:create データベースを作成します。
-
db:drop データベースを削除します。
-
db:schema:load は、schema.rb に従って、既存のデータベース内にテーブルとカラムを作成します。このとき、既存のデータは削除されます。
-
db:setup db:create、db:schema:load、db:seedを行う。
-
db:reset db:drop、db:setupを行う。
-
db:migrate:reset(マイグレート・リセット db:drop、db:create、db:migrateを行う。
db:schema:loadは、アプリの新しいインスタンスをセットアップするときに使用します。
お役に立てれば幸いです。
rails 3.2.12用にUPDATEしました。
今、ソースを確認したところ、依存関係はこのようになっています。
-
db:create 現在の環境用のデータベースを作成します。
-
db:create:all すべての環境に対してデータベースを作成します。
-
db:drop 現在の環境用のデータベースを削除します。
-
db:drop:all すべての環境に対してデータベースを削除します。
-
db:migrate 現在の env でまだ実行されていないマイグレーションを実行します。
-
db:migrate:up 特定のマイグレーションを実行します。
-
db:migrate:down(マイグレート・ダウン 特定のマイグレーションを1つだけロールバックする
-
db:migrate:ステータス 現在のマイグレーションステータスを表示します。
-
db:rollback 最後のマイグレーションをロールバックします
-
db:forward 現在のスキーマのバージョンを次のバージョンに進めます。
-
db:seed (のみ)db/seed.rb ファイルを実行します。
-
db:schema:load スキーマを現在のenvのデータベースにロードします。
-
db:schema:dump 現在の env のスキーマをダンプします (同様に db も作成するようです)。
-
db:setup 実行 db:create db:schema:load db:seed
-
db:reset db:drop db:setupを実行します。
-
db:migrate:redo(マイグレート:やり直し 指定されたマイグレーションに応じて、(db:migrate:down db:migrate:up) または (db:rollback db:migrate) を実行します。
-
db:migrate:reset(マイグレート・リセット 実行 db:drop db:create db:migrate
詳細については、以下を参照してください。 https://github.com/rails/rails/blob/v3.2.12/activerecord/lib/active_record/railties/databases.rake (Rails 3.2.x用)および https://github.com/rails/rails/blob/v4.0.5/activerecord/lib/active_record/railties/databases.rake (Rails 4.0.xの場合)
関連
-
[解決済み】識別関係と非識別関係の違いとは?
-
[解決済み】Rails: sudo "コマンドが認識されないのはなぜですか?
-
[解決済み】Bundler: コマンドが見つからない
-
[解決済み] heroku push rejected, failed to compile Ruby/rails app
-
[解決済み] Paramが無いか、値が空である。ParameterMissing in ResultsController#update
-
[解決済み] 検索 vs 発見する by vs どこに
-
[解決済み] nil:NilClass の未定義メソッド `each' - しかし、なぜ?
-
[解決済み] RVMでRubyのデフォルトバージョンを設定するには?
-
[解決済み] Rspec が私のモデルクラスを認識しない。初期化されていない定数エラー
-
[解決済み】「INNER JOIN」と「OUTER JOIN」の違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】コレクションをDESCで並べる方法
-
[解決済み] pg gem をインストールしようとすると 'libpq-fe.h' ヘッダが見つからない
-
[解決済み] Ruby/Rails の「フック」とは何ですか?
-
[解決済み] Ruby on Railsのランナー
-
[解決済み] 変更欄のRailsマイグレーション
-
[解決済み] nil:NilClass の未定義メソッド `each'... なぜ?
-
[解決済み] Ruby:Rubyの配列にinclude.の反対はある?
-
[解決済み] RoRにおけるSpringサーバーの機能とは?
-
[解決済み] Ruby: public static メソッドを作るには?
-
[解決済み] レイル 4 radio_button_tag default not selected