use*_*979 10 django postgresql-9.2
我目前有一个django应用程序正在我的电脑上开发我的数据库中的数据,但当我尝试在测试服务器上运行此应用程序时,我收到以下错误
DatabaseError: relation "django_site" does not exist
LINE 1: ..."django_site"."domain", "django_site"."name" FROM "django_si...
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉我为什么会得到这个错误.谢谢
这个问题继续困扰着许多人,包括我自己.虽然这是一个繁琐的过程,但这种方法可以节省我的脑力:
禁用INSTALLED_APPS中的所有外部应用程序,但您自己的应用程序除外,如下所示:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
'django.contrib.flatpages',
'main', # This is my own app.
# 'compressor',
# 'ckeditor',
# 'imagekit',
# 'debug_toolbar',
# 'rest_framework',
# 'allauth',
# 'allauth.account',
# 'allauth.socialaccount',
# 'allauth.socialaccount.providers.google',
# 'allauth.socialaccount.providers.facebook',
)
Run Code Online (Sandbox Code Playgroud)
跑
python manage.py makemigrations
python manage.py migrate
Run Code Online (Sandbox Code Playgroud)
然后,取消注释所有其他应用程序,然后重复makemigrations并在上面进行迁移.
这对我来说一直都有效
无法用 django 方式解决这个问题,所以我尝试使用 sql,我创建了一个这样的数据库转储。
pg_dump mypgdatabase | gzip -c > mypgdatabase.dump.out.gz
Run Code Online (Sandbox Code Playgroud)
然后将其移至服务器
scp /path/to/mypgdatabase.dump.out.gz my_remote_server
Run Code Online (Sandbox Code Playgroud)
然后像这样在服务器上重新创建它
psql -d mypgdatabase -f mypgdatabase.dump.out
Run Code Online (Sandbox Code Playgroud)
然后运行
./manange.py migrate --all
Run Code Online (Sandbox Code Playgroud)
一切顺利的话。
| 归档时间: |
|
| 查看次数: |
7806 次 |
| 最近记录: |