2010-07-17 118 views
-1

我想写一个SQL迁移工具。这个工具必须:SQL迁移工具

  • 的文件夹中合并新脚本,
  • 验证这些脚本的合并,
  • 对数据库运行这些脚本。
  • 如果发生验证错误,则突出显示无效行。
  • 如果脚本部署成功,我想将这些信息保存在数据库中,并附上版本和其他相关信息。

我可以用一些验证框架来做到这一点,或者我可以使用nHibernate吗?

回答

1

尝试DBSourceTools。 http://dbsourcetools.codeplex.com
通过使用修补引擎,它将允许您可靠地在已知状态下针对数据库测试修补程序脚本。
这是一个结合了Visual Studio数据库版和MSSQL Management Studio功能的开源工具。
理想情况下,您需要测试您在任何迁移中运行的所有脚本。
为什么您需要存储脚本中是否发生验证错误?
当然,这意味着脚本没有正确测试?
玩得开心。

7

有点晚了这里的聚会,但是这是一个很好的补充名单: -

FluentMigrator

FluentMigrator是.NET C#编写的一个数据库迁移框架。基本思想是,您可以创建迁移,这些迁移只是从迁移基类派生的类,并且具有附加了唯一版本号的迁移属性。在执行FluentMigrator时,您会告诉它要迁移到哪个版本,并且它将运行所有必要的迁移,以便将数据库升级到该版本。

除了正向迁移支持,FluentMigrator还支持不同的方式来执行迁移,以及选择性迁移称为配置文件和执行任意SQL。