Dav*_*iov 5 mysql sql-server oracle postgresql rdbms
我有一个脚本是我的部署过程的一部分,用于将数据库更改推送到生产服务器.如果脚本由于某种原因(更新错误)破坏了我的数据,则很难恢复.
解决此问题的一种方法是在更新时关闭应用程序,因此如果出现问题,只需返回我在部署之前所做的备份.
但是我听说有其他人部署并保持他们的网站正常运行...你将如何做到这一点,如果你失败了,你怎么能恢复自部署之前你的备份以来的数据?
一般来说,这是一个棘手的问题,就像数据库管理中的许多事情一样。基本上有三种方法可以解决这个问题:
如果您有一个复杂的系统,请根据这些或类似的类别隔离您的组件。
有一个暂存系统来测试升级。登台系统或多或少是生产系统的副本;它与测试系统是分开的。另一件事是拥有一个审计或日志记录系统,如果您需要重放数据,可以参考该系统。
真正的问题是,如果您稍后发现升级有问题。那你就完蛋了。