SQL迁移工具[关闭]

Posted

技术标签:

【中文标题】SQL迁移工具[关闭]【英文标题】:SQL migration tool [closed] 【发布时间】:2010-07-17 19:09:23 【问题描述】:

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

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

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

【问题讨论】:

【参考方案1】:

在这里聚会有点晚了,但这是对列表的一个很好的补充:-

FluentMigrator

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

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

【讨论】:

【参考方案2】:

不完全是你的要求,但我想我知道你想要实现什么。

http://code.google.com/p/migratordotnet/

http://ayende.com/Blog/archive/2009/05/01/nhibernate-validator.aspx

还有 Schema Updater(NHibernate 的一部分)

此博客有一个代码示例。 http://morten.lyhr.dk/2008/03/nhibernates-schemaupdate-feature.html

【讨论】:

【参考方案3】:

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

【讨论】:

以上是关于SQL迁移工具[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

DSC:数仓SQL脚本迁移的神奇工具

数据库同步或迁移工具[关闭]

DSC:数仓SQL脚本迁移的神奇工具

Oracle中数据迁移的工具

从 SQL Azure 迁移到 SQL Server

使用 MS SQL Express 登录:成功!迁移工具包登录:失败?