我想写一个SQL迁移工具。这个工具必须:SQL迁移工具
- 的文件夹中合并新脚本,
- 验证这些脚本的合并,
- 对数据库运行这些脚本。
- 如果发生验证错误,则突出显示无效行。
- 如果脚本部署成功,我想将这些信息保存在数据库中,并附上版本和其他相关信息。
我可以用一些验证框架来做到这一点,或者我可以使用nHibernate吗?
我想写一个SQL迁移工具。这个工具必须:SQL迁移工具
我可以用一些验证框架来做到这一点,或者我可以使用nHibernate吗?
不完全是你要求的,但我想我知道你想达到什么。
http://code.google.com/p/migratordotnet/
http://ayende.com/Blog/archive/2009/05/01/nhibernate-validator.aspx
并且还架构更新(NHibernate的部分)
该博客有一个代码示例。 http://morten.lyhr.dk/2008/03/nhibernates-schemaupdate-feature.html
尝试DBSourceTools。 http://dbsourcetools.codeplex.com
通过使用修补引擎,它将允许您可靠地在已知状态下针对数据库测试修补程序脚本。
这是一个结合了Visual Studio数据库版和MSSQL Management Studio功能的开源工具。
理想情况下,您需要测试您在任何迁移中运行的所有脚本。
为什么您需要存储脚本中是否发生验证错误?
当然,这意味着脚本没有正确测试?
玩得开心。
有点晚了这里的聚会,但是这是一个很好的补充名单: -
FluentMigrator是.NET C#编写的一个数据库迁移框架。基本思想是,您可以创建迁移,这些迁移只是从迁移基类派生的类,并且具有附加了唯一版本号的迁移属性。在执行FluentMigrator时,您会告诉它要迁移到哪个版本,并且它将运行所有必要的迁移,以便将数据库升级到该版本。
除了正向迁移支持,FluentMigrator还支持不同的方式来执行迁移,以及选择性迁移称为配置文件和执行任意SQL。