4
使用FluentMigrator,是否有辦法找出MigrateUp()函數是否確實會遷移某些東西或者它是否已經是最新的?如何檢查是否需要運行遷移或使用流利的遷移器運行遷移?
使用FluentMigrator,是否有辦法找出MigrateUp()函數是否確實會遷移某些東西或者它是否已經是最新的?如何檢查是否需要運行遷移或使用流利的遷移器運行遷移?
有沒有簡單的方法來告訴使用公共API是否MigrateUp
方法會做或不。
不過,也有解決這個多個「其他」方式依賴於FluentMigrator的內部:從MigrationRunner
導出,覆蓋ApplyMigrationUp
方法,該方法被調用每一個移民被應用的時候,和跟蹤/日誌應用遷移
創建自定義IAnnouncer
實現,配置FluentMigrator通過IRunnerContext
並在播音員Say
方法檢查使用它的message
參數包含文本"migrated"
,這意味着已應用遷移步驟。
MigrateUp
,如果你能得到一個MigrationRunner
參考之前您可以:MigrationRunner runner = ... // get a reference to the runner
if (runner.MigrationLoader.LoadMigrations() // get all the migrations
.Any(pair => !runner.VersionLoader
.VersionInfo.HasAppliedMigration(pair.Key)))
// check which migrations have been applied
{
// there are pending migrations, do your logic here
}
幹得漂亮。最後一點工作就像一個魅力。 – OnResolve