今は一人で開発しているのでマイグレーションを使わず、必要に応じて直接DBを操作しています。しかし将来チーム開発になったときのことを考え、マイグレーションを活用したいと考えています。そこで色々ネット上の記事を読んだのですが、全体感が分からないので質問させてください。
1.マイグレーションファイルを生成する単位
テーブル作成、カラム追加など、何か変更を加えようとするたびにファイルを1個ずつ追加するのでしょうか。また1つのファイルの中に、複数テーブルに対する変更は1ファイル内に記述できるのでしょうか。
2.ファイル名には意味があるのでしょうか
環境構築すると、サンプルとして2014_10_12_000000_create_users_tables.php
というファイルが出来あがります。
この「2014_10_12_000000」の部分は、ロールフォワード・ロールバックする際の時系列の判断のために参照されているのでしょうか。それともファイルのタイムスタンプが参照されているのでしょうか。
その先の「create」や「users_table」にはシステム上の意味や制約はあるのでしょうか。(質問1と関連しますが)
3.マイグレーションファイルを手作業で作成して問題はありますか。
php artisan make:migration tablename
を使っても、出来上がるファイルの中身はほとんど空なので、あえてコマンドを使う意味が分かりません。既存のファイルをコピー・編集して新規ファイルを作成することに問題はありますでしょうか。(質問1・質問2の結果にも多少影響を受けますが)
4.モデル内の記述変更を伴うようなテーブル設計変更(プライマリキーを変える、複数DBを相手にするなど)の場合、マイグレーションではどのように管理するのかがイメージできません。
以上、ご教示いただけますと幸いです。よろしくお願いいたします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/10/27 07:31