Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何同步开发和生产数据库_Mysql_Synchronization - Fatal编程技术网

Mysql 如何同步开发和生产数据库

Mysql 如何同步开发和生产数据库,mysql,synchronization,Mysql,Synchronization,您知道有什么应用程序可以同步两个数据库吗?在开发过程中,有时需要添加一个或两个表行或新表或列。 通常,我会在某个文件中编写每个sql语句,在上传路径的过程中,我会在我的生产数据库中删除这些行(之前备份)。 我使用mySQL和postreSQL数据库 您的做法是什么,以及哪些应用程序在这方面对您有帮助。有一些脚本(当然是在源代码管理下),您只能将其添加到最底层。再加上从生产数据库到开发人员的定期恢复,您应该是黄金。如果你对它严格要求的话,这是非常有效的 另外,我知道很多人使用redgate的东西来

您知道有什么应用程序可以同步两个数据库吗?在开发过程中,有时需要添加一个或两个表行或新表或列。 通常,我会在某个文件中编写每个sql语句,在上传路径的过程中,我会在我的生产数据库中删除这些行(之前备份)。 我使用mySQL和postreSQL数据库

您的做法是什么,以及哪些应用程序在这方面对您有帮助。

有一些脚本(当然是在源代码管理下),您只能将其添加到最底层。再加上从生产数据库到开发人员的定期恢复,您应该是黄金。如果你对它严格要求的话,这是非常有效的

另外,我知道很多人使用redgate的东西来支持SQLServer。

Siebel(CRM、销售等管理产品)有一个内置的工具来将生产数据库与开发数据库(dev2prod)对齐


否则,您必须坚持使用手动执行的脚本。

有一个处理此问题的结构同步向导。

对于PostgreSQL,您可以使用。它可以非常快地区分两个SQL转储(在一个包含300个表、50个视图和500个存储过程的数据库上只需几秒钟)。因此,您可以轻松地找到更改,并获得可以执行的sql差异

从APGDiff页面:

另一个PostgreSQL Diff工具是简单的PostgreSQL Diff工具,用于模式升级。该工具比较两个模式转储文件,并创建(经过一些手工修改后)适合升级旧模式的输出文件


又一次投票支持RedGate SQL Compare

我不想没有它的生活

编辑:抱歉,这似乎只适用于SQL Server。仍然-如果任何SQL Server用户有相同的问题,我肯定会推荐此工具。

我通过使用解决此问题。它可以检测并自动创建丢失的表、列等。

我非常喜欢

所有流行的数据库都有可用的工具,每种类型的数据库都有相同的用户体验


其中一个工具是DB比较器。

如果您为开发数据库编写SQL语句(我想,这是一系列DDL指令,如CREATE、ALTER和DROP),为什么不将它们记录在一个带有“版本”索引的表中来跟踪它们呢?然后,您将能够:

  • 跟踪您的版本更改
  • 制作一个小例程,通过将记录的指令发送到数据库,允许“自动”更新生产数据库

  • 您要求提供工具或应用程序答案,但您真正需要的是过程答案。这里的基本主题是,您应该对数据库DDL(以及DML,如果需要)进行版本控制,并提供更改脚本,以便能够将数据库的任何版本更新到更高的版本

    杰夫·阿特伍德(Jeff Atwood)提供并由K.斯科特·艾伦(K.Scott Allen)撰写的这组链接详细解释了这应该是什么样子,而且它们做得比我在这里写的要好:

    蟾蜍

    在过去救过很多次驴。为什么人们运行sql时没有退出策略


    红门一号也不错。

    您可以通过使用或类似的脚本为当前的工作方式添加一些自动化功能。这将允许您跟踪模式更改,并根据需要升级/回滚模式。

    这是我为同步Magento数据库而编写的linux bash脚本。。。但您可以轻松地将其修改为其他用途:)


    -“数据库版本控制,变得简单!”(PHP)

    我已经添加了一个赏金。我需要这个来为MySQL数据库工作。我正在使用Typo3,如果这很重要的话。它应该是低成本的。:)这本质上是数据库版本控制,但是自实现的。很好的方法,但是使用现有的工具可能更好。这就是问题所在。Typo3在更新/修改时运行自己的脚本,我想在它这样做时提取更改。这就是为什么我需要一个DB diff工具。如果你想进行版本控制,我建议你使用。它可以在时间上前后管理您的模式。@谢谢,这正是我想要的。如果这成为一个成熟的产品,它将是完美的。什么是不成熟的液化?我知道有几家公司正在使用它对其产品中的数据库更改进行版本化;不是数据。