将Django项目从sqlite迁移到Postgres

时间:2019-05-03 16:00:31

标签: django-models

我一直在使用SQLite数据库进行django项目开发。现在,我准备开始部署了,我想使用Postgres。我已经遵循了一些教程或分步说明,但是没有运气。到目前为止,这是我尝试过的:

https://stackoverflow.com/questions/3476606/django-what-are-the-best-practices-to-migrate-a-project-from-sqlite-to-postgres

https://www.digitalocean.com/community/tutorials/how-to-use-postgresql-with-your-django-application-on-ubuntu-14-04

https://stackoverflow.com/questions/34162281/django-migrate-schema-from-sqlite-to-postgresql

https://stackoverflow.com/questions/54044346/how-to-migrate-from-sqlite-to-postgres

https://stackoverflow.com/questions/47384084/migrate-database-from-sqlite3-to-postgres-django

我尝试手动更新迁移,也没有运气。

此刻,我的settings.py文件包含以下内容,我在两者之间切换注释:

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

# DATABASES = {
#    'default': {  
#        'ENGINE': 'django.db.backends.postgresql_psycopg2',
#        'NAME': 'databasename',
#        'USER': 'databaseusername',
#        'PASSWORD': databasepassword,
#        'HOST': 'localhost',
#        'PORT': '5432',
#    }
# }

我一直收到以下错误:

回溯(最近通话最近): 文件“ /media/Storage/sales_portal/venv/lib/python3.6/site-packages/django/db/backends/utils.py”,第85行,在_execute返回self.cursor.execute(sql,params) psycopg2.errors.UndefinedTable:关系“ opportunities_opportunity”不存在 第1行:... INCT“ opportunities_opportunity”。“ OwnerName”来自“ opportuni ......

我曾尝试从一个空数据库而不是一个数据库中进行迁移(认为迁移实用程序可能需要实际创建数据库)。问题是我知道这些字段和表不存在。这正是我要完成的工作。我已经尝试过几乎可以在Internet上找到的--run-syncdb,sqlmigrate,migration或makemigration的每种组合,但似乎无法弄清楚。

谢谢, 乔纳森

0 个答案:

没有答案