データベースを最新の状態に保つために Fluent Migrator を使用しています。アップとダウン機能は完璧に機能します。次のステップは、ビューを作成することです。これらは、私が持っている.SQLファイルから実行したいと思います。毎回、すべての移行が実行された後にこれを実行したいと思います。
私が現在持っているものは次のとおりです。
var blah = new MigrationConventions();
var maintenanceLoader = new MaintenanceLoader(_migrate, blah);
maintenanceLoader.ApplyMaintenance(MigrationStage.AfterAll);
とクラス
[Maintenance(MigrationStage.AfterAll)]
public class ViewMaintenance
{
public ViewMaintenance() {
var blah = 123;
}
}
これは、maintenanceLoader で検出できる要素が 0 個であるため、起動されません。次のように定義されている _migrate を挿入しています。
var runnerContext = new RunnerContext(new TextWriterAnnouncer(UpdateText));
_migrate = new MigrationRunner(
Assembly.GetExecutingAssembly(),
runnerContext,
new SqlServerProcessor(
new SqlConnection(connectionString),
new SqlServer2012Generator(),
new TextWriterAnnouncer(UpdateText),
new ProcessorOptions(),
new SqlServerDbFactory()));
Assembly.GetExecutingAssembly()
をスキャンして見つけられないのはなぜ[Maintenance(MigrationStage.AfterAll)]
ですか?
また、ViewMaintenance クラスが Migration クラスの機能を実行できるようにしたいと考えExecute.Sql(
ています。