Database Django切换到新数据库(本地)
哦,我的Django本地测试我正在尝试将默认本地数据库从旧的SQLLite数据库切换到Postgres数据库,以模拟通过heroku托管的实时环境。为此,我在本地使用postgres数据库,并更改了所有settings.py,如下所示,但Django无法识别数据库是否存在。除此之外,如果运行migrate或syncdb,它仍会尝试重新创建旧的sqllite3数据库。有没有人有过从一个数据库到另一个数据库的这种更改的经验,并看到过类似的问题Database Django切换到新数据库(本地),database,django,postgresql,Database,Django,Postgresql,哦,我的Django本地测试我正在尝试将默认本地数据库从旧的SQLLite数据库切换到Postgres数据库,以模拟通过heroku托管的实时环境。为此,我在本地使用postgres数据库,并更改了所有settings.py,如下所示,但Django无法识别数据库是否存在。除此之外,如果运行migrate或syncdb,它仍会尝试重新创建旧的sqllite3数据库。有没有人有过从一个数据库到另一个数据库的这种更改的经验,并看到过类似的问题 DATABASES = { 'default'
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'postgres',
# Or path to database file if using sqlite3.
# The following settings are not used with sqlite3:
'USER': 'myusername',
'PASSWORD': 'mypassword',
'HOST': 'localhost', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
'PORT': '5432', # Set to empty string for default.
}
}
您可能使用了错误的设置文件,或者有类似于local_settings.py的内容覆盖了您的设置,或者设置中有重复的
数据库
条目。执行:
python manage.py diffsettings
您看到正确的
数据库设置了吗?谢谢您的编辑。仍在学习格式化。我没有,但我不确定这可能来自哪里,因为我没有其他设置文件。这可能与导致问题的git分支有关吗?您的配置中有些地方不正确。在manage.py中,DJANGO\u SETTINGS\u模块
应包括SETTINGS.py的模块名称,例如myproj.SETTINGS
。它正确地列在DJANGO\u SETTINGS\u模块下。我完全搞不懂它为什么会保留旧设置。删除所有.pyc
文件。它们是您的.py
文件的缓存编译版本。只是尝试了一下,但不幸的是,它们似乎会立即重新创建自己,这并不能解决问题。我有一种感觉,我在做一些非常愚蠢的事情。。。