2009-05-21 62 views
1

我正在使用migratordotnet來管理我的數據庫遷移。我是running them on application setup like this,但我也想在應用程序啓動時檢查遷移是否是最新的,並提供遷移到最新的選項。我如何判斷是否有可用的遷移需要應用?我看到,我可以得到已應用於這樣如何判斷您的遷移是否與migratordotnet保持同步?

var asm = Assembly.GetAssembly(typeof(Migration_0001)); 
var migrator = new Migrator.Migrator("SqlServer", setupInfo.DatabaseConnectionString, asm); 
var applied = migrator.AppliedMigrations; 

我喜歡做這樣的事情的遷移:

var available = migrator.AvailableMigrations; //this property does not exist. 

回答

2

我找到了辦法。查看migratordotnet源代碼有所幫助。

var provider = ProviderFactory.Create("SqlServer", myConnectionString); 
var loader = new MigrationLoader(provider, asm, false); 
var availableMigrations = loader.GetAvailableMigrations();