2016-06-17 17 views
0

私はSQliteで私のdjango devをやりましたが、今はpostgres 9.5でアプリケーションを実行しようとしています。DjangoプロジェクトSQL liteからpostgresへの移行 - 関係 "django_content_type"は存在しません

しかし、私はこのエラー django.db.utils.ProgrammingError取得しています移行を実行する場合:関係「たdjango_content_typeは」

存在しません。私はdjango 1.8とpython 2.7を使用しています。マイグレーション時に、同じエラーが発生した-fake initialを実行しています。

私は既存の回答(この問題は一般的です)を見ていますが、私には明らかな答えが表示されません。

> (mrp) C:\Users\I812624\dev\mrp\src>python manage.py migrate 
Operations to perform: 
    Synchronize unmigrated apps: django_filters, autofixture, staticfiles, message 
s, smart_selects, watson, django_select2, django_countries, mptt, psycopg2, main 
, crispy_forms 
    Apply all migrations: customer, manufacture, product, vendor, purchase, admin, 
sessions, sales, flatpages, sites, item, contenttypes, production, auth, regist 
ration, inventory 
Synchronizing apps without migrations: 
    Creating tables... 
    Creating table watson_searchentry 
    Running deferred SQL... 
Traceback (most recent call last): 
    File "manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "C:\Users\I812624\dev\mrp\lib\site-packages\django\core\management\__init 
__.py", line 338, in execute_from_command_line 
    utility.execute() 
    File "C:\Users\I812624\dev\mrp\lib\site-packages\django\core\management\__init 
__.py", line 330, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "C:\Users\I812624\dev\mrp\lib\site-packages\django\core\management\base.p 
y", line 390, in run_from_argv 
    self.execute(*args, **cmd_options) 
    File "C:\Users\I812624\dev\mrp\lib\site-packages\django\core\management\base.p 
y", line 441, in execute 
    output = self.handle(*args, **options) 
    File "C:\Users\I812624\dev\mrp\lib\site-packages\django\core\management\comman 
ds\migrate.py", line 179, in handle 
    created_models = self.sync_apps(connection, executor.loader.unmigrated_apps) 

    File "C:\Users\I812624\dev\mrp\lib\site-packages\django\core\management\comman 
ds\migrate.py", line 317, in sync_apps 
    cursor.execute(statement) 
    File "C:\Users\I812624\dev\mrp\lib\site-packages\django\db\backends\utils.py", 
line 79, in execute 
    return super(CursorDebugWrapper, self).execute(sql, params) 
    File "C:\Users\I812624\dev\mrp\lib\site-packages\django\db\backends\utils.py", 
line 64, in execute 
    return self.cursor.execute(sql, params) 
    File "C:\Users\I812624\dev\mrp\lib\site-packages\django\db\utils.py", line 97, 
in __exit__ 
    six.reraise(dj_exc_type, dj_exc_value, traceback) 
    File "C:\Users\I812624\dev\mrp\lib\site-packages\django\db\backends\utils.py", 
line 62, in execute 
    return self.cursor.execute(sql) 
django.db.utils.ProgrammingError: relation "django_content_type" does not exist 
+0

実際には2つの部分があります: 1)どのようにテーブル構造を再作成しますか? 2)現在のデータをどのように移動しますか?単にデータベース設定を変更してmanage.py migrateを実行すると、どうなりますか?それが正常に実行されたら、SQLiteテーブルのデータを移行する方法を見つけなければなりません。もう一度Googleがあなたの友人になるでしょう。 –

+0

私は単純にpostgresを作成して、DBの設定をローカルに変更しました。以前の移行を削除し、各アプリケーションの手動でmakemigrationを実行します。 その後、私はマイグレーションを実行した後、質問からエラーが発生しています。 (シェルから質問に追加されたトレース) –

+0

そして、ちょうど構造だけのコンテンツを移行する必要はありません。 –

答えて

0

によってそれらを1つずつ行うので試すんでしたどのように思ったんだけど。 ソリューションは、私はpgAdminでは、いただきました!が起こっているが、移行がエラーを持っていたpgAdminでするpostgreを追加することなく、参照するだけのツールであることを仮定の下にあったpgAdminでhttps://www.pgadmin.org/

にサーバーを追加しましたhaventはということでした。

1

settings.pyで、データベースのセクションは次のようにする必要があります:あなたのINSTALLED_APPSには再起動の場所やサーバーにこの一度psycopg2 を含める必要があり、あなたが不足しているテーブル

を作成する必要がありますされ、再移行することができ

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.postgresql_psycopg2', 
     'NAME': 'yourdb', 
     'USER': 'youruser', 
     'PASSWORD': 'yourpass', 
     'HOST': '', 
    }, 
} 

+0

あなたはどんなサーバーについて話していますか? これはまさに私が自分の設定で持っているものです。 –

+0

あなたの更新された設定が影響を受けるようにするには、再起動が必要です。 – dmitryro

+0

ありがとうございますが、それは役に立ちません。それは私が推測する何か他のものです。 –

0

django_content_typeは自動的に作成する必要があります。 私はあなたがあなたのmakemigrations はそうかもしれない、それは仕事を始め周りを再生した後、

python manage.py makemigrations 

代わりに1

関連する問題