2016-11-26 10 views
0

を作成しません。しかし、私の出力は異なって見える:テーブルは作成されていないか、言及されていません。Herokuの+ Djangoの移行コマンドは、任意のテーブル

Operations to perform: 
    Apply all migrations: findCharge 

Running migrations: 
    Applying findCharge.0001_initial... OK 
    Applying findCharge.0002_auto_20161124_1729... OK 
    Applying findCharge.0003_auto_20161124_1955... OK 
    Applying findCharge.0004_chargepoints_description... OK 

はとにかく私はテーブルが作成され、「findCharge_chargepoints」関係のリストにあったように見えます

$ heroku pg:psql and then ONYX=> \dt 

を呼び出すとき。

… 
public | findCharge_chargepoints | table | owner_name 
… 

しかし、私は

ONYX=> SELECT * FROM findCharge_chargepoints; 
ERROR: relation "findcharge_chargepoints" does not exist 

を入力したとき、私はアプリ名なし「のpython manage.pyの移行」を実行しようとしていたが、結果は同じでした。私はローカルマシン上で "makemigrations"を実行してからgitを実行します。スーパーユーザーを作成することもできました。https://my-app-name.herokuapp.com/adminを開いてdbにデータを追加することはできますが、私のアプリではこのデータは表示されません。

提案がありますか?私は今それを3日間固執しているので、私はどんな助けにも感謝します。

P.S.私はheroku postgresql hobby-basicとpostgis拡張子を使用しています。

P.P.S. settings.pyから

データベース設定:

DATABASES = { 
'default':{ 
    'ENGINE': 'django.contrib.gis.db.backends.postgis', 
    'NAME': 'charging_points', 
    'USER': 'postgres', 
    'PASSWORD': 'XXX', 
} 
} 

とファイル

import dj_database_url 
DATABASES['default'] = dj_database_url.config() 
DATABASES['default']['ENGINE'] = "django.contrib.gis.db.backends.postgis" 
+0

DATABASEの設定を表示できますか? –

+0

デフォルトの 'public'スキーマを使用しない場合は、完全な 'schema.table'パスを指定する必要があります。 – shongololo

+0

ダニエル・ローズマン、私はちょうどそれが助けることができる場合、質問にこの情報を追加しました。 – sHalnes

答えて

1

の終わりに、私は解決策や解決策のようなものを見つけたと思います。必要はありません、私はそれが移行(AUTH_USERのような、auth_groupなど)が作成した他のテーブルを起こさ」期待していなかった

select * from "findCharge_chargepoints"; 

:テーブルは、私は二重引用符を使用する必要があり、それへのアクセスを取得するのではなく、作成されました任意のqoutes。

+0

これは大文字があるからです。** C ** hargeの "C"。二重引用符を置かないと、 'findcharge_chargepoints'(小文字の" c "が表示されます)が検索されることがあります。二重引用符を付けると、テーブルの名前と大文字/小文字が明示されます。 – Sharky

+0

ありがとう@Sharky、今私はそれを参照してください。 – sHalnes

+0

PostgreSQLの識別子は技術的には大文字と小文字が区別されますが、_unquoted_識別子がDMLやDDLで使用されると、PostgreSQLは暗黙的にその値を低くします。したがって、 'select * from AUTH_USER'は' select * from auth_user'として処理され、テーブル名は "auth_user"( "AUTH_USER"ではなく)なので、うまく動作します。しかし、 'select * from" AUTH_USER "'を実行した場合、クエリは失敗します。したがって、あなたの 'findCharge_chargepoints'テーブルを作成したものは、引用符で囲まれた識別子と明示的な場合があります。 – bimsapi

関連する問題