2

该场景很简单,一个模块化的应用程序,每个模块在升级过程中都必须管理自己的数据库部分。支持部分版本的.NET数据库迁移

正在使用的ORM是NHibernate,所以如果有什么东西可以和它一起玩,那是一个附加。另外,它需要能够在不使用外部工具(MSBuild等)的情况下执行,而是应该通过ADO.NET运行(如NHibernate的SchemaUpdate)。

回答

5

我发现Fluent Migrator工作得很好。如果您使用当前日期和时间版本化迁移(例如,V201209111740UpdateTableX),则不会遇到冲突版本号的问题,Fluent Migrator将运行尚未按顺序运行的任何版本(afaik)。它并不具体有“部分”版本,但通常使用它应该可以工作。

此外,您还可以在自己的应用程序运行它 - 你不需要通过的MSBuild或通过它自己的工具

+0

感谢的答复来运行它,这就是我正在调查大气压。我看到了FluentMigrator.Runner.dll,虽然它不在文档上(目前它也与github一起)。这真的是流利的迁移者的运作方式吗?我将不得不测试迁移,但我认为它只会执行比上次执行更大的迁移 –