gpt4 book ai didi

python - 两个Django项目共享数据库报 "table "auth_permission"already exists"错误如何解决

转载 作者:太空宇宙 更新时间:2023-11-04 10:08:03 25 4
gpt4 key购买 nike

this问题 我学会了如何让两个 Django 项目使用同一个数据库。 我有:

projects
project_1
settings.py
...
project_2
settings.py
...

# project_1/settings.py

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(PROJECT_ROOT, 'development.db'),
},
}


# project_2/settings.py

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(
os.path.dirname(os.path.dirname(PROJECT_ROOT)),
'project_1',
'development.db'
),
},
}

project_2/ 中,当我运行时:

python manage.py syncdb

我得到:

django.db.utils.OperationalError: table "auth_permission" already exists

我猜这是因为 python 未能尝试添加已存在于共享数据库中的 project_2 表。

我如何才能只将公用数据库中不存在的 project_2 表添加到共享数据库?

编辑:在告诉 project_2/使用 project_1/db 后,我运行 syncdb 并得到现有表错误。我没有迁移文件。 我应该在同步之前运行不同的命令吗?

最佳答案

您可以打开migrations 文件并注释掉试图创建表的SQL。然后再次运行迁移。

(另一种可能是删除数据库中的表,但您会丢失表中的数据。)

关于python - 两个Django项目共享数据库报 "table "auth_permission"already exists"错误如何解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39890835/

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