私の果てしない愚かさの中で、移行ではなくmysqlを使用してmysql dbを変更したため、dbは移行と同期しなくなりました。
私の質問は、データベースのデータと変更*を失うことなく、欠落している移行 (ステップ) と新しい schema.db を生成できるかどうかです。
*テーブル、列の追加などの変更。
どうも
私の果てしない愚かさの中で、移行ではなくmysqlを使用してmysql dbを変更したため、dbは移行と同期しなくなりました。
私の質問は、データベースのデータと変更*を失うことなく、欠落している移行 (ステップ) と新しい schema.db を生成できるかどうかです。
*テーブル、列の追加などの変更。
どうも
As far as recreating your migrations, you're out of luck but you can recreate the schema
rake db:schema:dump
If you go this route, when creating a new db (for a new environment etc...) you'll want to do
RAILS_ENV=some_env rake db:schema:load # specify the env if not development
instead of
rake db:migrate
since your migrations do not align with the current schema.
Be careful when running schema:load
as it recreates the db from scratch. i.e. you'll lose all data.
不足している移行を作成するとよいでしょう。schema_migrations
タイムスタンプをテーブルに手動で追加することで、ローカル dev データベースを修正できます。これは、手動でスキーマを変更した結果です。
また、rake db:migrate:reset
(すべてのテーブルを削除して最初から移行する) が同じ結果db/schema.rb
になることを確認してrake db:schema:dump
ください。データベース スキーマの変更は、移行によって自動化する必要があります。
rake の問題db:schema:load
は、強制的にテーブルを作成することです。