SQLite中反复的外键参考的dbmetal窒息 - 有什么想法吗?
题
我一直在努力使DBMetal处理我的SQLITE数据库。我终于隔离了这个问题。它不允许表具有两个外键引用对同一列的引用。
例如,带有这两个表的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:序列包含多个匹配元素
如果我摆脱了第二个外键参考,则不会发生错误。
因此,这有效:
CREATE TABLE Match
(
Id INTEGER PRIMARY KEY,
WinnerPersonId INTEGER NOT NULL REFERENCES Person(Id),
LoserPersonId INTEGER NOT NULL
);
但是我确实需要两个“人”列来参考人表。
我提交了一个 错误报告 为此,但是同时我可以使用解决方法。有任何想法吗?
解决方案
我只是遇到了相同的问题,并创建了一个补丁。我也将其发布在您的 错误报告. 。对于其他人,您可以在这里找到补丁: http://pastebin.com/vhnptmqp.
不隶属于 StackOverflow