【问题标题】:Is there a way to add models to postgres without deleting all the tables in postgres?有没有办法在不删除 postgres 中的所有表的情况下向 postgres 添加模型?
【发布时间】:2020-02-26 23:51:13
【问题描述】:

姜戈 我正在尝试将 Django 模型中的新表/模型添加到已有表的现有 postgres 数据库中,但唯一的解决方案是再次从头开始

解决方案: 删除迁移,删除 postgres 数据库中的所有表。 python manage.py makemigrations, python manage.py migrate

错误: 在尝试进行迁移并使用新模型迁移后浏览 drf api 或 postgres 数据库时,该表不存在。

【问题讨论】:

  • 如果您运行迁移,该表将存在。无需删除所有表。

标签: django postgresql django-models django-rest-framework


【解决方案1】:

添加额外的表(作为创建新模型的结果)不需要您从头开始或删除任何现有数据。提供无法应用的迁移示例会很有帮助。

【讨论】:

    【解决方案2】:

    看起来您的迁移文件和数据库中的迁移(djang_migrations 表 - 我希望它是正确的表名)不兼容。

    如果您确定 db 中的表和模型相同(现有迁移文件反映了您的数据库表)并且您希望创建 SomeModel(对于此示例)模型,您可以尝试到:

    1. 清除您的 django_migrations 表 - 记得备份此表
    2. manage.py migrate --fake(它只会在 django_migrations 表中创建一些行)
    3. manage.py makemigrations(它应该为 SomeModel 模型创建迁移文件)
    4. manage.py migrate(它将创建新表)

    希望它会有所帮助:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-27
      • 1970-01-01
      • 1970-01-01
      • 2018-08-04
      相关资源
      最近更新 更多