您是否知道同步两个数据库的任何应用程序 - 在开发期间,有时需要添加一个或两个表行或新表或列.通常我会在某个文件中编写每个sql语句,并且在上传路径中,我会在生产数据库中执行这些行(之前备份它).我使用mySQL和postreSQL数据库.
您的实践是什么,以及哪些应用可以帮助您.
您要求提供工具或应用程序答案,但您真正需要的是一个过程答案.这里的基本主题是您应该对数据库DDL(以及需要时的DML)进行版本控制,并提供更改脚本以便能够将任何版本的数据库更新为更高版本.
由Jeff Atwood提供并由K. Scott Allen撰写的这组链接详细解释了这应该是什么样的 - 他们做得比我在这里写的更好:http: //www.codinghorror.com/blog/ 2008/02/GET-您的数据库,下版本control.html
有脚本(当然是在源代码管理下),你只需添加到底部.结合从生产数据库到开发人员的定期恢复,你应该是金色的.如果你严格要求,这很有效.
否则我知道很多人都在为SQLServer使用redgate.
对于PostgreSQL,您可以使用另一个PostgreSQL Diff工具.它可以非常快速地区分两个SQL转储(数据库上的几秒钟,大约300个表,50个视图和500个存储过程).因此,您可以轻松找到您的更改并获得可以执行的sql diff.
来自APGDiff页面:
另一个PostgreSQL Diff Tool是简单的PostgreSQL diff工具,可用于模式升级.该工具比较两个模式转储文件,并创建适合旧模式升级的输出文件(在一些手工修改之后).
RedGate SQL Compare的另一票
http://www.red-gate.com/products/SQL_Compare/index.htm
如果没有它就不想活下去!
编辑:对不起,这似乎只适用于SQL Server.仍然 - 如果任何SQL Server用户有相同的问题,我肯定会推荐这个工具.