マイグレーション中に「self.drop」にバグがあり、そのマイグレーションを元に戻すことができません。どのように私はゼロから始めて、移行001から構築できますか?また、rubyでのロールバック移行の失敗を避けるには?
1
A
答えて
1
rake db:drop
rake db:create
rake db:migrate
は、それはあなたのデータベースをリセットし、すべてのマイグレーションを実行します(まだ...それだけでテストしていますが、)私のデータを失うことなくこれを行う方法があります。あなたのデータを失いたくない場合は、プラグインyaml_dbを使用して、それを保存することができます:
rake db:data:dump # stores all data in db/data.yml
...
rake db:data:load # loads db/data.yml to database
あなたは、移行中にエラーが発生している場合は、それを編集して、ロールバックしようとすることができます。
1
self.downマイグレーション中のすべてのステートメントをコメントにして、前のdbバージョンにロールバックできます。
次に、移行前にgui/web dbクライアントを使用して手動で変更を適用してdbスキーマを照合します。
移行をもう一度実行すると、データが失われることはありません。
0
私はこれが古い質問であることを認識していますが、まだ関連しています。あなたが最初からデータベースを再作成する場合、1はロールバックして再実行し、移行しない、人はちょうど
rake db:setup
これは、ドロップ作成し、すべてのマイグレーションの現在の結合状態でデータベースを記入しますありません。これは、間違いなく大規模なシステムでは、すべての移行を実行できなくなる可能性があるためです。ただし、schema.rb
を実行すると常に動作します。
マイグレーションを作成したばかりで、マイグレーションをチームや配備にプッシュする前に、いくつかの追加/入力ミスを修正したい場合を除いて、可能な限りマイグレーションのロールバックを避けることもお勧めします。
関連する問題
- 1. Laravelの移行はどの移行に失敗するかを見つける
- 2. フライウェイの移行が失敗した場合、alter文はロールバックされますか?
- 3. Springトランザクション失敗ロールバック
- 4. ステータスチェックの失敗時にロールバックするEC2のアップデートを実行中
- 5. curlの失敗時にスクリプトの終了を避ける
- 6. PHP PDO実行時にトランザクションのロールバックが失敗しますか?
- 7. HadoopでMap/Reduceタスクが失敗するのを避けるには
- 8. MySQL DBの移行が失敗する
- 9. ジェンキンスのビルド/テスト失敗時のロールバック
- 10. ASP.Net Core 1.1 - 移行失敗
- 11. SQL Server - 失敗したトリガーのロールバック
- 12. Knex:ロールバックによる特定の移行?
- 13. 「ロールバック」マルチDDL移行
- 14. Django移行に失敗しました
- 15. Rubyでのクラス変数の使用を避けるには
- 16. activeadmin mailerのためにherokuで移行が失敗する
- 17. Rubyネイティブエクステンションgemsのインストールに失敗する
- 18. REST MYSQLの移行はTESTでのみ失敗しますか?
- 19. Python djangoでの移行を避ける方法
- 20. ファイル名による移行ロールバック
- 21. MySQLでQtトランザクションのロールバックが失敗する
- 22. NSSQLiteのSeam3ストレージタイプへの移行がEXC_BAD_ACCESSで失敗する
- 23. Cakephpで特定の移行をロールバックする方法は?
- 24. コアデータの移行に失敗するリリースビルドのみ
- 25. Rake:既存のmySQLデータベースでデータベース移行が失敗する
- 26. simaproデータセットからecoinventへの移行がbrightway2で失敗する
- 27. 新鮮なデータベースでDjangoの移行が失敗する
- 28. SQLサーバーからOracleへの移行 - 取得に失敗する
- 29. Railsの移行に失敗する原因
- 30. 移行テーブルとは別にLaravel移行が失敗しました
これは、その移行でデータベースをどのように変更したかによって異なります。何かを加えましたか?削除されたものはありますか?より多くの情報を提供できますか? –