在两个mysql实例之间复制一行

在两个mysql实例之间复制一行,mysql,Mysql,我公司发布过程的一部分涉及将用户的“帐户”从开发mysql实例复制到生产实例 该“账户”是表中的一行,很容易通过PK识别,该表非常小(

我公司发布过程的一部分涉及将用户的“帐户”从开发mysql实例复制到生产实例

该“账户”是表中的一行,很容易通过PK识别,该表非常小(<1000行)

目前,我们正在使用phpmyadmin或mysqldump(取决于开发人员的偏好),这是一个非常缓慢(重phpmyadmin)且容易出错的过程

我们最大的问题之一是,生产中可能已经存在行,除非开发人员非常小心,否则他们可能会意外地用开发机器中过时的数据覆盖更改

在我们自己编写脚本之前,我想看看是否有现成的工具


人们用什么来做这件事?是每个人都在滚动自己的还是这不是一个常见的问题?

我们有一个类似的用例,找不到任何东西,就按照Bill Karwin的建议滚动自己的用例

它是用python编写的,自从我们在6月份编写它以来,它已经得到了很好的维护/开发。我们大量使用它(一天几十次)

我会添加一个MIT许可证,如果它符合你的目的,请随意使用/滥用

具有一些您可能会发现有用的功能和简单的CLI


编辑:我最近在博客上写过这个。除了mysql之外,我们还对其进行了更新,以支持postgres:

您能澄清一些事情吗?您每次只需要复制一个用户帐户,还是需要合并所有帐户?如果这个账户已经存在,那么你什么都不做,就让生产账户保持原状?当您说行由pk标识时,它是一个自动递增的id吗?如果生产帐户A的id为1000,而您在开发中有999个帐户,并且您添加了一个现在id为1000的帐户B,会发生什么情况?您如何判断生产帐户A与开发帐户B不同?要复制一个帐户(每次都会更改)。如果prod上存在帐户,则需要更新开发期间可能已更新的某些属性。目前,我们基本上用dev的prod行来标记prod行,但这会在prod自dev获取其副本后进行更新时导致问题。PK是一个字符串,基本上是一个用户名,但我们有其他ID(FK),我们需要在不同的环境中完全忽略/维护。这看起来很有趣,谢谢。我希望有一个更“企业化”的工具,所以我会继续等待这些问题的答案,但坦率地说,这比我希望的要多。我已经玩过了,看起来很有希望。我们有一些问题,但将通过github联系。再次感谢。