我需要更改三个表中的数据(更新一些现有行,添加一些新行,删除一些旧行)。我需要它在一瞬间完成。问题是需要手动更改数据,并且可能需要一些时间才能完成。所以我将使用测试服务器来进行更改。问题是:如何使用来自另一个数据库的数据更新生产服务器?
我的解决方案: 从 beta 服务器转储数据并在生产中恢复。
缺陷:我必须首先删除生产中的所有数据,并且由于外键而存在问题(我可以先关闭键,但有没有办法避免它?)。
我发现了类似的问题,其中一个答案建议使用dblink
命令。我想我可以写更新语句,但这似乎还是有点矫枉过正。
编辑(补充说明):
有生产服务器(我们称之为Production
),有开发服务器(我们称之为Beta
)。所以我需要在生产上更改一些数据(3 个相互连接的表,它们也被数据库中的其他表引用)。准确地说 - 这些表格包含学习计划 - 主题、主题组和子主题。有引用这些元素的寄存器。但我需要立即完成这些更改(意思是:通过 SQL 脚本)。为了实现这一点,我将使用 Beta 服务器 - 它拥有生产数据库的副本(在特定时刻完成,没有实时同步)。所以我将在 Beta 服务器上的 3 个表中更新数据,我需要将这些数据移动到生产环境。