Node.js,Express,MySQL - 更新模式(schema)

3

我有一个小应用程序正在生产服务器上运行。在下一个更新中,数据库模式将会改变;这意味着生产数据库模式需要更改,并且需要进行一些数据操作。

最好的方法是什么?比如在部署到生产服务器时运行一个一次性脚本来完成这些任务?

技术栈: Nodejs Expressjs 使用node mysql的MySQL Codeship Elasticbeanstalk

谢谢!


“当我部署到生产服务器时,运行一次性脚本来完成这些任务”通常是一个不错的选择,只需确保该脚本的一部分包括创建备份即可。 - Kevin B
2个回答

3
“最佳方法”取决于您的情况。这是一个相对少见的事件,还是可能定期发生?有多少个生产服务器?是否有其他环境,例如集成测试、暂存等?您的开发人员是否拥有自己的DB环境?您的流程是否涉及持续集成?
您的景观越复杂,使用像Todd R建议的解决方案(Liquibase,Flywaydb)就越好。
如果您只有一个生产服务器,并且可以停机几个小时进行维护,则可以:
1.与利益相关者和用户安排维护停机时间 2.关闭服务器 3.创建备份 4.根据需要更新数据库结构和内容 5.部署软件更新 6.重新启动服务器 7.测试结果(手动或自动) 8.通知利益相关者和用户
如果出现任何问题,请回滚到数据库的备份版本以及您的软件。
具有数据库更新脚本是明智的。测试它们一次或多次更加明智。提前创建备份至关重要。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接