我知道每个插槽都有自己的配置,但是数据库迁移呢?他们如何申请?假设我通过迁移部署到登台,因此登台数据库得到更新。生产数据库如何更新?以及如何访问代码中的变量?
问问题
1018 次
2 回答
2
问题是自动部署大约需要 3 分钟,但数据库迁移大约需要 30 秒
于 2019-03-05T08:00:47.490 回答
2
当您更新暂存槽时,连接到该槽的任何数据库都将得到更新。
让我描述两个场景 -
生产槽和暂存槽使用相同的数据库:在这种情况下,如果您更新代码并升级到暂存槽,生产数据库将接收所有数据库迁移,因为它也绑定到暂存槽。这可能不是一个理想的方法。
Production Slot 和 Staging Slot 使用单独的 DB:这里,如果您在 staging slot 上运行更新,则将在连接到该 slot 的 db 上执行 db 迁移,而 production db 将保持不变。
现在,第一种情况不是一个好主意,因为您正在直接对生产数据库进行更改。但是你得到了一个完全更新的数据库。在第二种情况下,它是安全的,但您的最新数据可能不一致。
最好的办法是按照第二种情况进行测试。当测试完成时——
- 为数据库迁移生成脚本,
- 备份生产数据库
- 手动运行数据库迁移
- 将生产槽与暂存槽交换
于 2019-03-04T20:26:33.847 回答