開発環境でデータベースでテーブル群を新たに作り、それをそのまま本番サーバに設定を引き継ぎたいと思っています。
全テーブルを削除し、新たに作り直そうと考えています。
開発環境のほうに、create table xxx();からなるものをたくさん作り、bin/cake bake migration_snapshot Initialを使いました。
本番サーバに転送するとエラーがかかってしまいます。
//開発環境 # bin/cake bake migration_snapshot Initial
転送
//本番環境 # bin/cake migrations migrate
すると途中までテーブルが作成され、途中でエラーになってしまいます。
エラー内容は外部キー制約です。
show tables;
で見てみると、アルファベット順にテーブルが挿入されているのが確認でき、テーブル作成の順番はアルファベット順のようです。しかし、アルファベットの後ろのほうであるusersが一番先頭にこないと外部キー制約をクリアできません。(途中のテーブルがusersのidに制約かけているため)
migrationsの使い方として、どのように使っていくべきなのか。
initialのスナップショットはとらずに、まずusersをマイグレーションで管理し、その後他のテーブルをいれていったほうがよいのでしょうか。
手元にはcreate table xxx();
というものがたくさんあり、それをうまく使いながらマイグレーションを使っていきたいです。
こういう場合
1.usersだけをinitalとして登録して、あとは追加していけばよいのでしょうか?
2.他によい方法はあるのでしょうか。
実務面も含めてご教示頂けると幸いです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。