gpt4 book ai didi

mysql - 比较两个 MySQL 数据库

转载 作者:行者123 更新时间:2023-11-29 19:00:10 25 4
gpt4 key购买 nike

我目前正在开发一个使用 MySQL 数据库的应用程序。

随着开发的进展,数据库结构仍在不断变化和变化(我更改了本地副本,仅将测试服务器上的副本保留在测试服务器上)。

有没有办法比较数据库的两个实例以查看是否有任何更改?

虽然目前简单地丢弃以前的测试服务器数据库就可以了,但随着测试开始输入测试数据,它可能会变得有点棘手。
同样的情况在稍后的生产中会再次发生,但更多的是......

是否有一种简单的方法可以增量地对生产数据库进行更改,最好是通过自动创建脚本来修改它?

<小时/>

答案中提到的工具:

最佳答案

如果您正在使用小型数据库,我发现使用 --skip-comments--skip-extended-insert 选项在两个数据库上运行 mysqldump生成 SQL 脚本,然后在 SQL 脚本上运行 diff 效果很好。

通过跳过注释,您可以避免无意义的差异,例如运行 mysqldump 命令的时间。通过使用 --skip-extended-insert 命令,您可以确保每行都使用自己的插入语句插入。这消除了单个新记录或修改记录可能在所有 future 插入语句中引起链式 react 的情况。使用这些选项运行会产生更大的转储,并且没有注释,因此这可能不是您在生产使用中想要做的事情,但对于开发来说应该没问题。我在下面列出了我使用的命令的示例:

mysqldump --skip-comments --skip-extended-insert -u root -p dbName1>file1.sql
mysqldump --skip-comments --skip-extended-insert -u root -p dbName2>file2.sql
diff file1.sql file2.sql

关于mysql - 比较两个 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43937313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com