1
210
如果您使用的是小型数据库,我发现在两个数据库上都运行mysqldump
通过跳过注释,可以避免无意义的差异,例如运行mysqldump命令的时间。通过使用
|
2
99
Toad for MySQL 具有数据和模式比较功能,我相信它甚至可以创建同步脚本。最重要的是,这是免费的。 |
3
20
|
4
17
|
5
13
从功能比较列表… MySQL Workbench 在其社区版中提供模式差异和模式同步。 |
6
13
当然有很多种方法,但是在我的例子中,我更喜欢dump和diff命令。下面是一个基于Jared评论的脚本:
欢迎反馈:) |
7
12
DBSOLO,是付费的,但这项功能可能是您要找的功能 http://www.dbsolo.com/help/compare.html 它适用于Oracle、Microsoft SQL Server、Sybase、DB2、Solid、PostgreSQL、H2和MySQL
|
8
11
如果您只需要比较模式(而不是数据),并且可以访问Perl,那么mysqldiff可能会工作。我之所以使用它是因为它允许您将本地数据库与远程数据库(通过ssh)进行比较,所以您不必费心转储任何数据。 http://adamspiers.org/computing/mysqldiff/ 它将尝试生成SQL查询来同步两个数据库,但我不信任它(实际上也不信任任何工具)。据我所知,没有100%可靠的方法来对将一个数据库模式转换为另一个数据库模式所需的更改进行反向工程,尤其是在进行了多次更改时。 例如,如果只更改列的类型,自动化工具可以很容易地猜测如何重新创建。但是,如果您还移动列,重命名它,添加或删除其他列,那么任何软件包都能做的最好的事情就是猜测可能发生了什么。最终可能会丢失数据。 我建议跟踪您对开发服务器所做的任何模式更改,然后在实时服务器上手动运行这些语句(或者将它们转入升级脚本或迁移)。这更乏味,但它能保证你的数据安全。当您开始允许最终用户访问您的站点时,您真的要不断地对数据库进行重大更改吗? |
9
7
|
10
6
检查: http://schemasync.org/ SchemaSync工具对我有效,它是一个命令行工具,在Linux命令行中很容易工作。 |
11
4
还有另一个开源命令行mysql diff工具: |
12
3
有一个使用perl编写的有用工具 Maatkit . 它有几个数据库比较和同步工具。 |
13
3
按Redgate进行的SQL比较 http://www.red-gate.com/products/SQL_Compare/index.htm DBDeploy以自动方式帮助进行数据库更改管理 http://dbdeploy.com/ |
14
3
对于我自己,我将从转储数据库和区分转储开始,但是如果您想要自动生成合并脚本,您将需要一个真正的工具。 简单的 Google search 找到以下工具:
|
15
3
|
16
3
在网上搜索了几个小时的简单工具后,我意识到我并没有在Ubuntu软件中心寻找。 以下是我发现的免费解决方案: http://torasql.com/ 他们声称他们也有一个Windows版本,但我只是在Ubuntu下使用。 编辑:2015年2月5日 如果您需要Windows工具,蟾蜍是完美和免费的: http://software.dell.com/products/toad-for-mysql/ |
17
2
ApacheZeta组件库是一个普通用途的库,其中包含用于开发基于PHP5的应用程序的松散耦合组件。
EZ组件-数据库模式 允许你: .Create/Save a database schema definition; .Compare database schemas; .Generate synchronization queries; 您可以在此处查看教程: http://incubator.apache.org/zetacomponents/documentation/trunk/DatabaseSchema/tutorial.html |
18
2
非常易于使用的比较和同步工具:
优势:
缺点:
|
19
1
我想 Navicat for MySQL 对这个案子会有帮助的。它支持MySQL的数据和结构同步。
|
20
0
对于问题的第一部分,我只做了一个二者的转储,并对它们进行了区分。关于mysql还不确定,但是postgres pg_dump有一个命令,只转储不包含表内容的模式,所以您可以查看是否更改了模式。 |
21
0
我在诺布山的营销团队工作,我想告诉你我很高兴听到你的问题,建议或其他任何事情,请随时联系我。
我们最初决定从头开始创建我们的工具,因为尽管市场上有其他这样的产品,但没有一个产品做得对。显示数据库之间的差异非常容易。实际上,让一个数据库与另一个数据库一样,这是另一回事。模式和数据的平滑迁移一直是一个挑战。好吧,我们已经做到了。
|
Dsujan · 从第二个文件中获取更改行的差异 6 年前 |
Damian Nadales · 让vc修订版其他窗口删除它获取的文件 6 年前 |
book · bash:如何打印diff命令输出? 7 年前 |
lombocska · Liquibase diff-驱动程序问题 7 年前 |
bitifet · 如何创建类似VCS的冲突合并文件? 7 年前 |