C# SQL迁移工具
我想写一个SQL迁移工具。该工具必须: 将新脚本合并到文件夹中, 验证这些脚本的合并, 对数据库运行这些脚本。 如果发生验证错误,则突出显示无效行。 如果脚本部署成功,我希望将此信息与版本和其他相关信息一起保存在数据库中。C# SQL迁移工具,c#,.net,sql-server,C#,.net,Sql Server,我想写一个SQL迁移工具。该工具必须: 将新脚本合并到文件夹中, 验证这些脚本的合并, 对数据库运行这些脚本。 如果发生验证错误,则突出显示无效行。 如果脚本部署成功,我希望将此信息与版本和其他相关信息一起保存在数据库中。 我可以用一些验证框架来实现这一点,或者我可以使用nHibernate吗?不完全是你想要的,但我想我知道你想要实现什么 以及NHibernate的模式更新程序部分 这个博客有一个代码示例。 试试dbourcetools。 通过使用补丁引擎,您可以在已知状态下对数据库可靠地测试补
我可以用一些验证框架来实现这一点,或者我可以使用nHibernate吗?不完全是你想要的,但我想我知道你想要实现什么 以及NHibernate的模式更新程序部分 这个博客有一个代码示例。 试试dbourcetools。 通过使用补丁引擎,您可以在已知状态下对数据库可靠地测试补丁脚本。 它是一个开源工具,结合了VisualStudioDatabaseEdition和MSSQLSManagementStudio的功能。 理想情况下,您希望测试在任何类型的迁移中运行的所有脚本。 为什么需要存储脚本中是否发生验证错误? 当然这意味着脚本没有被正确测试?
玩得开心。这里的派对有点晚了,但这是一个很好的补充:- FluentMigrator是一个用C编写的.NET数据库迁移框架。其基本思想是,您可以创建迁移,这些迁移只是从迁移基类派生的类,并且具有迁移属性,该属性附带唯一的版本号。在执行FluentMigrator时,您告诉它要迁移到哪个版本,它将运行所有必要的迁移,以便将数据库升级到该版本 除了支持向前迁移外,FluentMigrator还支持不同的迁移方式,以及称为概要文件的选择性迁移和执行任意SQL