経緯
Railsの開発でテーブルのスキーマ情報を変更する場合下記の方法があると思います。
1 Migrationの仕組みを使う
"rails g migration ~"にてマイグレーションファイルを作成し、"rake db:migrate"で反映する。
(2回目以降カラム追加などをする場合は、コマンドによる生成ではなく、別名でファイルを自作する)
2 既存のMigrationファイルを直接編集する
直接CreateTableしているMigrationに書き加え、"rake db:migrate:reset"で反映する。
今、開発環境で「1」の方法でDBに反映させ、それをHerokuにデプロイしたところ、うまくいきませんでした。schema.rbが更新されていないので、deploy時に変更した点が反映されずにエラーが出ていました。
わからないこと
productionの運用を考えた上で、開発時点でスキーマ情報の更新を行う場合は、どの方法で行うべきなのでしょうか?
また、2の方法では、production環境でもrake db:migrate:resetを行う必要が出てくると思っていて、結果既存のデータも全消去に成ってしまうと思います。仮に回避する方法があれば、ご教授いただきたいです。
実際に運用している方で、どのようにやっているか教えていただけないでしょうか。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/04 15:53
2016/12/05 00:14