2017-02-27 3 views
0

私は私のdjangoアプリケーションで2つのpostgresデータベースを使用しています。複数のデータベース - アクセス

'newpostgre': { 
    'ENGINE': 'django.db.backends.postgresql_psycopg2', 
    'NAME': 'new_postgre2', 
    'USER': 'tester', 
    'PASSWORD': 'password', 
    'HOST': 'localhost', 
    'PORT': '', 
}, 
'newpostgre2': { 
    'ENGINE': 'django.db.backends.postgresql_psycopg2', 
    'NAME': 'new_postgre3', 
    'USER': 'tester', 
    'PASSWORD': 'password', 
    'HOST': 'localhost', 
    'PORT': '', 
}, 

私は非常に単純なモデルに私は私がpostgreに私のnew_postgre2(newpostgre用)データベースを開いたとき、私はそこに私のCHECK1テーブルを参照することができ

python manage.py migrate --database=newpostgre 
python manage.py migrate --database=newpostgre2 

を実行していた

class Check1(models.Model): 
     title = models.CharField(max_length=100) 

を持っています。

しかし、postgreのnew_postgre3データベース(newpostgre2の場合)にはCheck1テーブルはありません。最初の移行のみがそこにあります。

移行が正常に完了したときに、なぜnew_postgre3で自分のテーブルが表示されないのですか?

+0

を移行あなたはどのデシベルルータを使用していますか? – itzMEonTV

答えて

0

異なるスキーマで同じオブジェクト名を使用できるため、競合することがあります。ベストプラクティスでは、多くのユーザーが互いに干渉することなく1つのデータベースを使用できます。この変更第2データベースユーザーを使用し、再度チェックしてください。私はそれが仕事だと思う。

'newpostgre': { 
    'ENGINE': 'django.db.backends.postgresql_psycopg2', 
    'NAME': 'new_postgre2', 
    'USER': 'tester', 
    'PASSWORD': 'password', 
    'HOST': 'localhost', 
    'PORT': '', 
}, 
'newpostgre2': { 
    'ENGINE': 'django.db.backends.postgresql_psycopg2', 
    'NAME': 'new_postgre3', 
    'USER': 'tester_different', 
    'PASSWORD': 'password_different', 
    'HOST': 'localhost', 
    'PORT': '', 
}, 

のpython manage.py --database = newpostgre2

+0

ごめんなさい、でもそれもうまくいかない、あなたの努力のためにthnks。私はデータベースをもう一度チェックしましたが、今は別のユーザーがいますが、再度デフォルトの移行が行われますが、モデルは存在しません。 – Luv33preet

関連する問題