azure-deployment-slots - 使用 Azure 部署槽处理数据库更改
问题描述
我目前正在为网站配置环境。当我使用 azure 时,我想使用部署槽以确保用户不会有任何停机时间。虽然我了解部署槽的目标,但我很难理解它们在我的情况下如何使用。
基本上,该站点使用的数据库将随着时间的推移而发展。换句话说,我的大多数版本都会改变数据库的架构,我不能确保它总是向后兼容(实际上我可能会删除列或其他东西)。
因此,我想到了两种解决方案。要么两个 DS 将共享同一个数据库,要么它们使用不同的数据库。但是,如果它们共享同一个数据库,则在暂存 DS 中执行部署后,可能是生产开始失败(例如,因为它引用了已删除的列)。所以我不能以这种方式使用DS。
使用两个单独的数据库似乎是一个可行的选择......如果它们是同步的。实际上,如果暂存数据库的数据库仅用于验证部署,则在更新生产 DS 时,我无法将站点交换到此 DS,因为此数据库的数据不会是最新的。因此,我需要确保数据是同步的,但是当登台更新时,这种同步会以某种方式暂停,因为架构将不再相同......
我读过的所有文章都在谈论 DS 而没有真正提到数据库问题,所以我真的不明白它应该如何工作。请给我一些启发?
解决方案
推荐阅读
- c# - 如何将十六进制字符串和十六进制字符串和十六进制字符串中的十进制值转换为字节
- web-services - 如何从外部的节点 js 客户端访问暴露的 BluePrism Web 服务
- android - MediaRecorder.AudioSource 中 VOICE_CALL 和 VOICE_COMMUNICATION 的区别
- docker - Kubernetes 中 NodePort 类型服务的 Pod 到 Pod 通信
- laravel - 将数据表添加到 laravel 混合文件
- mysql - SQL - 使用带有日期参数的查询,其中 IN 用于子查询
- python - 我如何获得与 keras 重合的百分比
- android - 如何通过Android中的通话功能实现OTP?
- java - 从 JSON 字符串中删除双引号
- amazon-web-services - 域的 AWS 证书管理器 https 配置