dbmetalは、sqliteで繰り返される外部キー参照で窒息します - 何かアイデアはありますか?
質問
SQLiteデータベースを処理するためにdbmetalを取得するのに苦労してきました。私はついに問題を分離しました。テーブルは同じ列に2つの外部キー参照を持つことができません。
たとえば、これら2つのテーブルを備えたSQLiteデータベースは失敗します。
CREATE TABLE Person
(
Id INTEGER PRIMARY KEY,
Name TEXT NOT NULL
);
CREATE TABLE Match
(
Id INTEGER PRIMARY KEY,
WinnerPersonId INTEGER NOT NULL REFERENCES Person(Id),
LoserPersonId INTEGER NOT NULL REFERENCES Person(Id)
);
このエラーが発生します:
dbmetal:シーケンスには、複数の一致する要素が含まれています
2番目の外部キー参照を取り除くと、エラーは発生しません。
だから、これはうまくいきます:
CREATE TABLE Match
(
Id INTEGER PRIMARY KEY,
WinnerPersonId INTEGER NOT NULL REFERENCES Person(Id),
LoserPersonId INTEGER NOT NULL
);
しかし、人のテーブルを参照するには、両方の「人」列が本当に必要です。
提出しました バグレポート このためですが、その間に回避策を使用できます。何か案は?
解決
私は同じ問題を抱えていて、パッチを作成しました。私もあなたにそれを投稿しました バグレポート. 。他の人のために、ここでパッチを見つけることができます: http://pastebin.com/vhnptmqp.
所属していません StackOverflow