最後の移行スクリプトとして実行する必要がある特定の DB スクリプトがあり、DB で移行を実行するたびに実行する必要があります (以前に実行された場合でも)。
非常に大きな移行 ID を使用して、この移行が最後に実行されるようにすることができます。ただし、毎回この移行を強制的に再実行する方法がわかりません。実行すると、dbo.VersionInfo
テーブルに追加され、次に FluentMigrator がそのテーブルでそれを確認したときに、再度実行されません。
[Migration ( 209912312359 )]
public class M209912312359 : Migration
{
public override void Down ()
{
// I want this particular migration to always run
// as the last migration script and to run every time.
}
}
以前の実行に関係なく、毎回このスクリプトを実行するように FluentMigrator に指示する移行属性はありますか? (Migration
基本クラスには、これをオーバーライドするものはありません。)
FluentMigrator 1.4 を使用しています。
編集:
これは、データベース内の一部のデータをクリーンアップするデータ移行です。職場には多数のデータベースがあります (同じスキーマ、異なるデータ)。1 つの特定のテーブル ( と呼びましょうdbo.A
) には、すべてのデータベースで同じ順序で同じデータが含まれている必要があります。移行を使用してこのテーブルにデータを追加しますが、特定の DB で実行される移行によっては、 のインスタンスdbo.A
が同期しなくなることがあります。
この移行の目的は、 のすべてのインスタンスにdbo.A
同じデータが同じ順序で含まれるようにすることです。その列は外部キーとして使用されるdbo.A
ため、削除して再作成することはできません。ID
可能であれば、移行ソリューションが必要です。移行は、展開の一部としてすべての環境で実行されることが保証されている唯一のものであり、これを変更することは非常に難しいためです。(FluentMigrator でこれができない場合は、おそらく選択肢がありません。)