gpt4 book ai didi

python - 如何更新 Turbogears 应用生产数据库

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

我在生产中有一个 postgres 生产数据库(其中包含大量数据)。现在我需要修改 tg-app 的模型以将几个新表添加到数据库中。

我该怎么做?我正在使用 sqlAlchemy。

最佳答案

这总是有效的,需要很少的思考——只需要耐心。

  1. 做好备份。

  2. 实际进行备份。每个人都跳过第 1 步,认为他们有备份,但他们永远找不到或使用它。不要相信任何您无法从中恢复的备份。

  3. 创建一个新的数据库架构。

  4. 在新架构中从头开始定义您的新结构。理想情况下,您将运行构建新模式的 DDL 脚本。没有构建架构的脚本?创建一个并将其置于版本控制之下。

    使用 SA,您可以定义表,它可以为您构建架构。这是理想的,因为您的模式在 Python 中受版本控制。

  5. 移动数据。

    一个。对于未更改结构的表,使用简单的 INSERT/SELECT 语句将数据从旧模式移动到新模式。

    对于确实更改结构的表,开发 INSERT/SELECT 脚本以将数据从旧数据移动到新数据。通常,这可以是每个新表的单个 SQL 语句。在某些情况下,它必须是具有两个打开连接的 Python 循环。

    对于新表,加载数据。

  6. 停止使用旧架构。开始使用新架构。查找使用旧架构的每个程序并修复配置。

    没有应用程序列表?做一个。说真的——这很重要。

    应用程序有硬编码的数据库配置?修复它,当你在做的时候。创建一个公共(public)配置文件,或使用一些公共(public)环境变量或其他东西来 (a) 确保一致性和 (b) 集中“生产”的概念。

您可以在任何时候进行大手术时进行此类手术。除了提取数据外,它从不接触旧数据库。

关于python - 如何更新 Turbogears 应用生产数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/301566/

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