Django 无法迁移到新数据库

Posted

技术标签:

【中文标题】Django 无法迁移到新数据库【英文标题】:Django can't migrate to a new db 【发布时间】:2021-12-20 12:05:18 【问题描述】:

我创建了一个新的 postgreSQL 数据库并在没有迁移文件的 Django 项目上运行“python manage.py migrate”。出现了这个错误:

django.db.utils.ProgrammingError: relation "app_model_name" does not exist

我尝试了 makemigrations、showmigrations、runserver 和 shell,但它仍然给了我同样的错误。我该如何解决这个问题?

我也在使用带有 M1 芯片的 Macbook Air。

更新:我不认为这是由 M1 芯片引起的,因为我能够在我的另一个项目中迁移/进行迁移。这是我得到的最初错误:

psycopg2.errors.UndefinedTable: relation "app_model_name" does not exist

【问题讨论】:

【参考方案1】:

从 app/migrations 中删除所有迁移文件 然后做迁移 然后迁移

【讨论】:

我没有任何迁移文件 从我在堆栈中看到的情况来看,postgres 和 m1 芯片存在一些问题【参考方案2】:

我使用 Rosetta 解决了这个问题,因为这是一个与 M1 相关的问题。

arch -x86_64 python manage.py makemigrations 
arch -x86_64 python manage.py migrate

【讨论】:

以上是关于Django 无法迁移到新数据库的主要内容,如果未能解决你的问题,请参考以下文章

将现有 auth.User 数据迁移到新的 Django 1.5 自定义用户模型?

迁移到新主机后无法访问 wordpress 仪表板

为还没有任何迁移的 Django 项目创建迁移

即使使用“--fake”,Django 迁移缓慢且资源密集

django south 在多个数据库上

Django如何把SQLite存储的数据迁移至Mysql数据库中