gpt4 book ai didi

mysql - 如何合并来自已发散的 mysql 模式的数据?

转载 作者:太空宇宙 更新时间:2023-11-04 11:30:36 24 4
gpt4 key购买 nike

我有两台共享原始祖先代码库的服务器,但在过去几个月中它们在数据库架构方面发生了变化(我使用的是 mysql)。我即将使用第二个作为我的新生产服务器,但我必须更新数据(有新用户,有与这些用户相关的新数据等)。我希望服务器中的数据现在处于事件状态,但旧模式具有权限,但我希望新模式中的模式成为最终模式。所以这是一种奇怪的合并:我希望将来自旧服务器的数据导入具有(不是非常)不同架构的新服务器。

我正在考虑简单地转储包含最新数据的服务器,但随后加载它是行不通的,因为架构已经发生了很大变化。

我也在考虑转储新服务器的架构,将其应用于旧服务器的副本,然后从后者转储数据并将其加载到新服务器中,但我我不确定该怎么做以及它是否是最安全的选择。

我在 mac OS X 上开发,我的两台服务器都是 debian。

最佳答案

将模式从新服务器应用到旧服务器,然后迁移数据是最安全的选择,主要是因为它会迫使您评估具体发生了什么变化以及您希望根据数据做什么(例如,在哪里添加了新列,你想在里面放什么)?

既然你提到了模式并没有太大的不同,简单地做一个没有数据的 mysqldump(即,只有表)每个服务器并手动比较(例如,使用 diff)会告诉你哪些列是不同的。然后,您可以在旧数据库上使用 ALTER 应用这些更改。

这一切都有点笨拙,但最终并没有真​​正不笨拙的方法。

关于mysql - 如何合并来自已发散的 mysql 模式的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11605016/

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