我正在使用 Fluent Migrator 来保持数据库更新。Up 和 Down 功能完美运行。下一步是我想要创建视图。这些我想从我拥有的 .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 类能够运行Execute.Sql(
Migration 类所具有的。