1

プロジェクトに複数の移行があり、移行ごとにいくつかの列が追加されます。移行するたびに、他の既存の列に基づいて、列にデータを入力したいと思います。私はチームで働いており、それぞれにテストデータを含むローカルデータベースがあります。

現在、構成クラスには単一のシードメソッドが1つあります。

1つの移行で列を追加する場合、シードメソッドにデータを追加することは問題ありませんが、すべての移行で列を追加する複数の移行では、最新の移行に一致するようにシードメソッドを更新しない限り機能しません。

DbMigrationクラスで必要なときにオーバーライドするための仮想または抽象シードメソッドが含まれていなかったのはなぜですか?それははるかに良い方法のように思えますか?

前もって感謝します

4

1 に答える 1

3

Up移行クラスのメソッドにデータを直接シードできるためです。電話するだけです:

Sql("INSERT INTO ... ");
Sql("UPDATE ... ");

Seed移行構成のメソッドは、データベースの作成時の初期データベースシードに適していますが、列を初期化するだけでなく、エンティティ全体を追加または更新する必要がある場合は、今後のシードにも使用できます。

于 2012-03-14T13:18:03.330 に答える