假设有3个数据库
据我所知,临时数据库需要与生产数据库同步
但,
当我们发展的时候,我们可以为所欲为Dev数据库并更改架构。
现在是先有鸡还是先有蛋的问题。
要在分期中进行测试,Staging数据库模式需要根据开发数据库中的更改进行更改。但临时数据库需要与生产同步。
你们如何解决这个问题?
您需要将所有更改写入开发数据库作为按特定顺序运行的 SQL 迁移脚本。不要更改数据库结构,除非是在脚本中。不要更新、插入或删除任何行,除非它位于脚本中。
理想情况下,有一种方法可以跟踪针对您找到的任何版本的数据库运行了哪些脚本。
然后您可以按如下方式更新阶段。
- 转储生产数据库
- 使用生产转储填充阶段数据库
- 分阶段运行迁移
- 检查迁移是否有效(单元测试、手动检查)
一旦一切正常...
- 使用 mysqldump 命令转储 prod 数据库(因为它可能已更改)在服务器上保留备份
- 在产品上运行迁移
- 测试迁移已在产品上运行
- 喝啤酒(一边看错误日志)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)