gpt4 book ai didi

database - 进化数据库迁移和默认数据

转载 作者:搜寻专家 更新时间:2023-10-30 22:22:20 26 4
gpt4 key购买 nike

我们正在重新评估我们的应用程序的数据库升级过程,以尝试消除必须在发布周期结束时为发布生成所有升级脚本的痛苦。我们正在寻求一个更进化的过程,使用迁移,这些迁移与特性一起通过工具 checkin ,例如 migratordotnet ,这似乎是管理架构更改的一种非常干净的方式。

但是,我们的数据库随附的默认数据经常会发生变化,并且其中一些数据更新与迁移过程不相适应。例如,对具有标识主键的表的插入不容易识别,因此在降级时无法撤消。

所以我想知道人们如何管理默认数据的迁移?他们是否在计划迁移过程之外进行管理?还是在迁移期间执行了插入,但在降级期间不执行数据删除?

最佳答案

对于我们来说,数据库迁移是日常开发过程的一部分。开发人员必须提交执行必要更改的程序或脚本。这种情况会在相关功能实现后立即发生,绝不会“在发布周期结束时”发生。

降级很少成为问题,但如果有降级,请创建一个包含版本信息的列。当升级成功并且客户决定继续使用新版本时,再次删除该列(或保留它)。

成功的关键是我们拥有广泛的测试用例,这些用例从头开始创建数据库(使用像 H2 这样的内存数据库或安装在每台开发人员机器上的数据库),包括所有数据,然后一路迁移通过和返回。我们可以将匿名数据从生产服务器导入到测试用例中,以在不侵犯客户隐私或妨碍开发人员的情况下追踪错误并改进测试。

关于database - 进化数据库迁移和默认数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1660508/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com