2017-01-09 6 views
1

ローカル環境ですべての設定を行い、Herokuサーバーで自分のWebサイトのコードを作成していますが、スキーマをPostgreSQLデータベースHerokuサーバー。私はheroku run python manage.py migrateをしようとするたびに、私は(これは最初の移行だろう)、以下を得る:データベーススキーマをHeroku(Postgres)に移行するときに問題が発生する

heroku pg:infoを使用して、それは私が0のテーブルを持っている、と私は heroku run python manage.py showmigrationsを実行するとさらに、これはどのような私である私に語った後、細かいようだが
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 

取得:

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 

したがって、移行が進行していないように見えますが、その理由は不思議です。データベースは空ですが、私はそれをリセットして再試行しましたが、何も動作していないようです。

EDIT:以下は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 
+0

データベースはどのように定義されていますか? ['dj-database-url'](https://github.com/kennethreitz/dj-database-url)を使用していますか? – Chris

+0

@Chrisはい私は –

+0

あなたはlocal_settingsに何かを持っていますか?それはデータベースの設定を上書きしますか? –

答えて

0

それはあなたがあなたのローカル設定に持参する前に、あなたのdj_database_urlのコンフィグをロードしていることを、あなたのコードスニペットから見えます。これが問題です。ここで起こっているのは、ローカル設定がプロダクション設定を(Postgresを使って)オーバーライドしているということです。あなたは、マイグレーションを実行したときに何が起こっている

は次のとおりです。

  • Herokuのは、新しいローカルのSQLiteデータベースを作成しています。
  • 移行の実行
  • 成功したと言います。
  • 終了。

ローカル設定をdb_database_url呼び出しの上に移動すると、魔法のように動作するはずです。

+0

あなたは正しいです。私は実際に 'settings.py'をそのまま残してしまい、' local_settings.py'をリモートサーバから削除しました。そうすれば、devサーバはまだ 'local_settings.py'に設定されていますが、リモートは設定されていません。 –

+0

完璧!それは素晴らしいです= D – rdegges

関連する問題