【问题标题】:Node.js, Express, MySQL - update schemaNode.js、Express、MySQL - 更新架构
【发布时间】:2023-03-08 11:25:01
【问题描述】:

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

最好的方法是什么?当我部署到生产服务器时,IE 运行一次性脚本来完成这些任务?

堆栈: 节点 Expressjs MySQL 使用节点 mysql 代号 弹力豆茎

谢谢!

【问题讨论】:

  • “当我部署到生产服务器时,IE 会运行一个一次性脚本来完成这些任务” 这通常是一个不错的选择,只需确保所述脚本的一部分涉及创建一个备份。

标签: mysql node.js express


【解决方案1】:

“最佳方式”取决于您的具体情况。这是很少发生的情况,还是可能经常发生?有多少台生产服务器?是否有其他环境,例如用于集成测试、登台等?您的开发人员在他们的机器上是否有自己的数据库环境?您的流程是否涉及持续集成?

您的环境越复杂,使用 Todd R 建议的解决方案(Liquibase、Flywaydb)就越好。

如果您只有一台生产服务器,并且可能会停机维护几个小时,那么它可能就足够了

  1. 与利益相关者和用户一起安排维护停机时间
  2. 关闭服务器
  3. 创建备份
  4. 根据需要更新数据库结构和内容
  5. 部署软件更新
  6. 重启服务器
  7. 测试结果(手动或自动)
  8. 通知您的利益相关者和用户

如果出现任何问题,请回滚到数据库和软件的备份版本。

建议使用数据库更新脚本。最好对它们进行一次或多次测试。提前创建备份至关重要。

【讨论】:

    【解决方案2】:

    http://www.liquibase.org/http://flywaydb.org/ - 一次性使用相当“繁重”,但如果您将来需要再次更改架构,可能值得花时间学习其中之一。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-29
      • 2018-08-09
      • 1970-01-01
      • 2021-10-10
      • 2017-02-05
      • 1970-01-01
      相关资源
      最近更新 更多