يخنق DBMetal على المراجع الرئيسية الخارجية المتكررة في SQLite - أي أفكار؟

StackOverflow https://stackoverflow.com/questions/2761701

سؤال

لقد كنت أكافح من أجل الحصول على 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.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top