如何将数据库更改部署到Live Server?

Dav*_*iov 5 mysql sql-server oracle postgresql rdbms

我有一个脚本是我的部署过程的一部分,用于将数据库更改推送到生产服务器.如果脚本由于某种原因(更新错误)破坏了我的数据,则很难恢复.

解决此问题的一种方法是在更新时关闭应用程序,因此如果出现问题,只需返回我在部署之前所做的备份.

但是我听说有其他人部署并保持他们的网站正常运行...你将如何做到这一点,如果你失败了,你怎么能恢复自部署之前你的备份以来的数据?

Pet*_*aut 1

一般来说,这是一个棘手的问题,就像数据库管理中的许多事情一样。基本上有三种方法可以解决这个问题:

  1. 不惜一切代价避免失败。
  2. 锁定一切(并使升级非常快)。
  3. 丢失数据没关系。

如果您有一个复杂的系统,请根据这些或类似的类别隔离您的组件。

有一个暂存系统来测试升级。登台系统或多或少是生产系统的副本;它与测试系统是分开的。另一件事是拥有一个审计或日志记录系统,如果您需要重放数据,可以参考该系统。

真正的问题是,如果您稍后发现升级有问题。那你就完蛋了。