RedGate为 Microsoft SQL Server 制作了一个工具,可让您对两个数据库之间的差异进行快照。它生成更新数据库模式所需的脚本,同时保留数据。
我需要为 Firebird 数据库找到这样的工具。我们以嵌入式方式使用 Firebird,并希望以尽可能少的麻烦将模式更新推送到远程机器。
Migration tools for Firebird on IBPhoenix site are on a separate link Contributed Downloads - Migration Tools
请参阅 IBExpert,它也有一个命令行工具,您可以在其中以专有语言运行脚本。您可以比较两个数据库并获取脚本来更新目标数据库,它在依赖项方面做得很好,比如视图,它会删除使用视图的每个依赖项,更改视图然后重新创建删除的对象。这也可以在 GUI 中完成,还有很多其他的好东西
我不知道有一个完全相同的 Firebird 工具。
但是,FlameRobin允许您提取单个数据库对象或整个数据库的元数据。它还可以创建脚本来重新创建某个数据库对象,包括其依赖项。因此,您可以区分两个数据库创建脚本并将差异保存为起点(可能仍需要一些更改),或者您可以将重新创建脚本用于单个对象及其依赖项。
此列表包含几个比较工具
正如@devio 建议的那样,我查看了 IBPhoenix 网站上列出的大量管理工具。在列表中的工具中,生成脚本以迁移模式和数据更改的仅有两个工具是XCase和Database Workbench。
有没有人有使用这些工具的经验?还有其他我可能错过的吗?
Embarcadero Change Manager 将在秋季增加对 InterBase 和 Firebird 的支持。在这里阅读所有相关信息。Change Manager 包括模式存档比较和同步、数据比较、同步和屏蔽以及配置管理。
试试 SchemaCrawler链接
SchemaCrawler 是一个开源 Java API,它使处理数据库元数据就像处理普通的旧 Java 对象一样容易。
SchemaCrawler 也是一个命令行工具,可以以可读的形式输出您的数据库模式和数据。输出被设计为与以前版本的数据库模式不同。
由于它需要 JDBC 驱动程序,因此您还需要以下内容:Firebird JDBC 驱动程序