Я использую Fluent Migrator для обновления базы данных. Функции Up и Down работают отлично. Следующим шагом является создание представлений. Это я хотел бы запустить из. SQL-файла, который у меня есть. Я хочу, чтобы это запускалось после того, как все миграции были запущены каждый раз.FluentMigrator Versioning Refresh Views
То, что я в настоящее время:
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 мог запускать Execute.Sql(
, что и классы миграции.