2017-04-04 13 views
0

Gitの分岐とYii2のデータベース移行に関する簡単な質問。 開発中に、データベースを変更する必要が生じることがあります。 その後、新しいマイグレーションを行い、Model generatorとCRUD ジェネレーターを再起動します。ここでは、コントローラー、モデル、ビューのすべてのファイルが上書きされます。 私は手動で古いコードを新しいものにマージします。面倒な仕事ですが、少なくとも私は何を知っています 私はやっています。 しかし、私は魔力を持っています。私はGitの分岐/マージ機能を試みたことがありません。 モデル/ CRUDで生成されたコードのある新しいブランチを作成して とし、そのブランチをマスターにマージできますか?これの論理的なステップは何ですか?Yii2の移行とGitの分岐

答えて

1

短い答えは - はい、あなたはです。

移行を使用すると、データベースのさまざまなバージョンとコードを簡単に作成できます。新しい機能を開発するときは、新しい分岐を作成します。 git checkout -b feature/new_table、それに取り組む。

新しいデータベーステーブルが必要な場合は、新しいファイルでこの

$ ./yii migrate/create create_featured_table_table 

ようcreate a new migration、あなたがテーブルの作成手順を説明する - up() し、それを削除する - down()

up()にデータベースの状態に追加の変更がある場合は、down()機能に戻す必要があります。

移行が完了したら、migrate/upを使用して変更を適用し、CRUD生成に新しいテーブルを使用できます。すべての変更はブランチにのみ存在します。

データベースがすでに実際の状態になっているため、このブランチを問題なくマスターにマージできます。

変更をマージせずにマスターまたは他のブランチをチェックアウトする必要がある場合は、最初にmigrate/downにする必要があります。これにより、データベースを以前の状態に設定するので、現在のブランチの影響を受けません。

フィーチャーブランチに戻ると、migrate/upが再び表示され、データベースのすべての変更が表示されます。

+0

ありがとうございました!はい、それは非常にもっともらしいようですが、試してみましょう。 –