状況
docker-compose build
時にMySQLを起動し、dump.sqlのようなデータベースのデータを全てインポートしております。
MySQLはどこかのサーバーに繋いでいるわけではなく、コンテナ内に立てて、それぞれのローカルで動かすイメージです。
問題点
アプリケーション開発をする上での問題点なのですが、
もし、データベースの構成がALTER TABLE等で変わった場合、
ソースコードはデータベースの構成が変更された状態になっているのですが、
dump.sqlの構成は更新されていないので、
変えた本人以外はアプリケーションを立ち上げた時にエラーになってしまいます。
そうなると、都度、dump.sqlを編集するという作業が必要になってくるという問題が発生します。
上記の問題を回避すべき方法は以下の通りだと考えています。
- ローカルではなく、別にデータベースサーバーを立てて、そこに接続するようにする(このサーバーの管理が必要)
docker-compose build
をしたときに、ステージング環境等からdumpしてきて、そのdump.sqlを利用する(時間がかかる & ローカルで登録等したデータが消えてしまう)- ALTER TABLE等でデータベースの構造が変わる際、dump.sqlと同階層に保存し、
docker-compose build
時にdump.sqlと同様に構築できるようにする(ルール化)
皆様はどのような方法が良いと思いますか?
上記であげた方法、それ以外にもうちではこのようにしている等ございましたらご教授いただけると幸いです。
よろしくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/16 06:09
2018/03/19 04:56
2018/03/19 12:55 編集
2018/03/19 12:58 編集