2016-11-11 99 views
1

所以我想运行一个Django应用程序初始迁移,当我尝试运行迁移命令(蟒蛇manage.py迁移或makemigrations)我得到以下错误:Django的迁移关系不存在

psycopg2.ProgrammingError: relation "dotworks_server_internship" does not exist 
LINE 1: ...s", "dotworks_server_internship"."questions" FROM "dotworks_... 
                  ^

我在使用Django 1.9.6的Windows环境中,我的数据库是postgres。另外,我使用PGAdmin来管理我的数据库。

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.postgresql', 
     'NAME': 'dotworks', 
     'USER': 'postgres', 
     'PASSWORD': 'mypasswordgoeshere', 
     'HOST': 'localhost', 
     'PORT': '5432', 
    } 
} 

回答

1

如果你是在本地运行, 对于每个Django应用程序(也许只有一个),删除migrations文件夹的内容。 然后,运行python manage.py makemigrations app1 app2 app3(如果您有3个名为app1,app2,app3的Django应用程序)。这将(重新)创建迁移数据库所需的迁移文件。

然后,运行python manage.py migrate。它将应用您刚刚创建的迁移文件。

+1

没有工作,问题似乎是表甚至没有被第一次迁移尝试创建 –

1

尝试使用以下过程迁移特定的应用程序。请参阅Django migrations

python manage.py makemigrations 

初始迁移创建然后运行(迁移命令与应用程序的名称

python manage.py migrate appname1, appname2 
1

如果提及的所有其他解决方案失败,如果你仍然在开发可能是最简单的方法是删除数据库中的pgAdmin 4 2.0,右键点击数据库),然后运行makemigrationsmigrate

相关问题