【发布时间】:2018-01-18 20:35:52
【问题描述】:
我一直在另一台机器上使用本地 postgis 数据库开发 Django 应用程序。我把整个东西都推送到了 GitHub,除了 .gitignore 中的内容。
.gitignore
venv
*.pyc
staticfiles
.env
.idea
uploads
回到家并克隆了 repo,安装了所有需求并创建了一个新的本地 Postgres 数据库,该数据库具有与 settings.py 中相同的设置和相同的 PostGIS 扩展。
settings.py
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'db_name',
'USER': 'postgres',
'PASSWORD': '******',
'HOST': 'localhost',
'PORT': '5432',
}
}
但我无法创建任何迁移。我只是得到一个错误。
django.db.utils.ProgrammingError: relation "something_something" does not exist
我尝试回滚到第一个初始迁移文件,但结果相同。
makemigrations applabel 0001
就好像 Django 认为它仍然是同一个数据库,但缺少所有表。但我无法迁移并让 Django 创建它们。
我怎样才能摆脱这个烂摊子?我可以以某种方式迁移吗?
如果您需要我遗漏的其他信息,请询问。
【问题讨论】:
-
你在
migrate --fake之后尝试过makemigration -
很好的建议。我刚刚尝试运行
migrate --fake和migrate --fake-initial仍然会抛出该错误。
标签: python django postgresql postgis database-migration