2016-04-24 20 views
0

レガシーDBからdumpdataに近づいています。最近、djangoのinspectdbを使用してリバースエンジニアリングを行っています... これ以外のすべてのクエリは正常に動作します。 MySQLワークベンチでは、列が存在します。 しかし、ときに私が取得するデータエクスポートしよう:tracebackを使用してDjango dumpdataが既存の列をシリアル化できません

CommandError: Unable to serialize database: no such column: af_datper.locnac 

する(http://dpaste.com/1DASN1Vを汚染しないようにここに貼り付け)に影響を与える私の行のいずれかを明らかにしません。

(ワークベンチでそれを見ての中で、inspectdbは...

それを拾っていないだろう、私は正直ないモデルフィールドがすでにその列のnull値を認めていると、列がデータベースに存在しません?。あなたのトレースバックを掘り下げるのビット

答えて

0

どれでも受験行うには他に何を知って、私はこれを参照してください。

ファイル「venv/libに/ python3.5 /のsite-packages /ジャンゴ/ DB /バックエンド/utils.py "、 行64、実行中 return self.cursor.execute(sql、params)ファイル "venv/lib/python3.5/site-packages/django/db/backends/sqlite3/base.py"、 行323、実行中 return Database.Cursor。 (自己、クエリを、のparams)を実行 sqlite3.OperationalError:いいえ、そのようなコラム:SQLiteのdocumentationから

af_datper.locnac:

スキーマ名が指定されている場合、それがなければなりません"main"、 "temp"、または のいずれかで、接続されているデータベースの名前。この場合、新しいテーブルは、指定されたデータベースに作成された です。 "TEMP"または "TEMPORARY"キーワード が "CREATE"と "TABLE"の間に発生すると、新しいテーブルはtempデータベースに として作成されます。スキーマ名が "temp"でない場合は、スキーマ名と の両方をTEMPキーワードまたはTEMPORARYキーワードとして指定するとエラーになります。 スキーマ名が指定されておらず、TEMPキーワードが存在しない場合は、 テーブルがメインデータベースに作成されます。要するに

fooは、データベースの名前またはmain又はtempの一つである場合を除き、SQLiteは、列名としてfoo.barをサポートしていません。

+0

私はこのアプリケーションのためにmysqlを使用しています... – tutuca

+0

sqlite3のコネクタでエラーを投げているあなたのトレースバックによるものではありません。 –

+0

さて、それはヒントです。私はカスタムルータを使用しています。このアプリケーションは、認証がsqlite上にある間にmysqlと話しています...それを削除し、mysqlに移行します... – tutuca

関連する問題