gpt4 book ai didi

python - 生产数据库中的架构迁移?

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

我已经开始学习 Web 开发(具体来说是 Flask 和 Django),无论我在哪里看到,数据库的话题总是从迁移开始。

根据我对更新数据库的理解,应该

  1. 运行“生成迁移脚本的东西”以生成一个迁移脚本,该脚本将区分您当前的模型文件和当前的数据库。
  2. 在您的本地数据库上测试迁移脚本。
  3. 提交迁移脚本,使其到达您的生产环境,然后再次运行该脚本以更新您的生产数据库。

然后通过此链接阅读 Wikipedia 上的 Schema Migrations Schema Migration我看到了以下文字:

schema migration is typically only used when the data held in the database is not real nor valuable, such as in software development, where developers work only with (possibly generated) test data.[citation needed] Programmatic schema migrations are almost never performed in production for the same reason.

它说应该避免生产中的迁移,那么你应该如何更新你的数据库?

最佳答案

我不明白维基百科文章的作者是从哪里得到这个想法的;根据历史,它已经在第一次修订中,对我来说,这种任意限制没有意义。

将数据库与程序版本一起迁移是经常需要的,这意味着生产数据库也需要这样做。我在这里不区分行中的数据和模式,因为这有点随意。从代码的角度来看,数据库是一种编码数据的方式,编码方案直接影响行中数据的模式和编码。

也许谈论此类迁移的风险(生产数据库有时包含损坏数据、通过手动运行 SQL 查询修改的数据)或复杂性(如添加和删除外键)是有意义的。但我见过许多产品在发布新版本时迁移数据和模式。

更新:我已经更新了维基百科页面,让我们看看编辑能持续多久:-)

关于python - 生产数据库中的架构迁移?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29676686/

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