質問編集履歴
1
タイトル変更, 質問内容変更
    
        title	
    CHANGED
    
    | 
         @@ -1,1 +1,1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            docker-composeでローカル環境を構築してい 
     | 
| 
      
 1 
     | 
    
         
            +
            docker-composeでローカル環境を構築していて、データベースの構成が変わったときの対応
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -3,16 +3,20 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
            MySQLはどこかのサーバーに繋いでいるわけではなく、コンテナ内に立てて、それぞれのローカルで動かすイメージです。
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
            ## 問題点
         
     | 
| 
      
 6 
     | 
    
         
            +
            アプリケーション開発をする上での問題点なのですが、
         
     | 
| 
       6 
     | 
    
         
            -
            もし、データベースの構成がALTER TABLE等で変わった 
     | 
| 
      
 7 
     | 
    
         
            +
            もし、データベースの構成がALTER TABLE等で変わった場合、
         
     | 
| 
       7 
8 
     | 
    
         
             
            ソースコードはデータベースの構成が変更された状態になっているのですが、
         
     | 
| 
      
 9 
     | 
    
         
            +
            dump.sqlの構成は更新されていないので、
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
      
 10 
     | 
    
         
            +
            変えた本人以外はアプリケーションを立ち上げた時にエラーになってしまいます。
         
     | 
| 
       9 
     | 
    
         
            -
            その場合、dump.sqlを編集するという作業が必要になってきてしまいます。
         
     | 
| 
       10 
11 
     | 
    
         | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
      
 12 
     | 
    
         
            +
            そうなると、都度、dump.sqlを編集するという作業が必要になってくるという問題が発生します。
         
     | 
| 
       12 
13 
     | 
    
         | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
      
 14 
     | 
    
         
            +
            上記の問題を回避すべき方法は以下の通りだと考えています。
         
     | 
| 
       14 
15 
     | 
    
         
             
            - ローカルではなく、別にデータベースサーバーを立てて、そこに接続するようにする(このサーバーの管理が必要)
         
     | 
| 
       15 
16 
     | 
    
         
             
            - `docker-compose build`をしたときに、ステージング環境等からdumpしてきて、そのdump.sqlを利用する(時間がかかる & ローカルで登録等したデータが消えてしまう)
         
     | 
| 
       16 
17 
     | 
    
         
             
            - ALTER TABLE等でデータベースの構造が変わる際、dump.sqlと同階層に保存し、`docker-compose build`時にdump.sqlと同様に構築できるようにする(ルール化)
         
     | 
| 
       17 
18 
     | 
    
         | 
| 
      
 19 
     | 
    
         
            +
            皆様はどのような方法が良いと思いますか?
         
     | 
| 
      
 20 
     | 
    
         
            +
            上記であげた方法、それ以外にもうちではこのようにしている等ございましたらご教授いただけると幸いです。
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
       18 
22 
     | 
    
         
             
            よろしくお願い致します。
         
     |