我把一切都建立在我的本地环境和Heroku的服务器上我的网站了代码,我只是有严重的麻烦架构迁移到PostgreSQL数据库上Heroku服务器。每当我试图heroku run python manage.py migrate
,我得到以下(这将是一个初始迁移):故障迁移数据库模式的Heroku(Postgres的)
Running python manage.py migrate on baseballstatview... up, run.1653 (Free)
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions, statview
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying sessions.0001_initial... OK
Applying statview.0001_initial... OK
这似乎不错,但然后使用heroku pg:info
它告诉我,我有0表,进一步当我运行heroku run python manage.py showmigrations
这就是我得到:
Running python manage.py showmigrations on baseballstatview... up, run.5059 (Free)
admin
[ ] 0001_initial
[ ] 0002_logentry_remove_auto_add
auth
[ ] 0001_initial
[ ] 0002_alter_permission_name_max_length
[ ] 0003_alter_user_email_max_length
[ ] 0004_alter_user_username_opts
[ ] 0005_alter_user_last_login_null
[ ] 0006_require_contenttypes_0002
[ ] 0007_alter_validators_add_error_messages
[ ] 0008_alter_user_username_max_length
contenttypes
[ ] 0001_initial
[ ] 0002_remove_content_type_name
sessions
[ ] 0001_initial
statview
[ ] 0001_initial
所以看来,迁移不会通过,我想知道为什么是这样的话。该数据库是空的,我试着重置它,并再次尝试,但似乎没有任何工作。
编辑:下面是dj_database_url相关settings.py
:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'mlb_data',
'USER': 'postgres',
'PASSWORD': 'pw',
'HOST': 'localhost',
'PORT': '5432',
}
}
import dj_database_url
DATABASES['default'] = dj_database_url.config()
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
ALLOWED_HOSTS = ['*']
DEBUG = False
try:
from .local_settings import *
except ImportError:
pass
如何你的数据库中定义?你在使用['dj-database-url'](https://github.com/kennethreitz/dj-database-url)吗? – Chris
@Chris是的,我是 –
你有什么local_settings?它是否覆盖数据库设置? –