From 6852c9df66e69e6db38e38a9a85675c11c65d575 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Wed, 1 Jul 2020 12:57:10 +0200 Subject: [PATCH] [jOOQ/jOOQ#8553] Updated SQLite implementation --- .../java/org/jooq/meta/sqlite/SQLiteDatabase.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/sqlite/SQLiteDatabase.java b/jOOQ-meta/src/main/java/org/jooq/meta/sqlite/SQLiteDatabase.java index e3b642f048..c287cf7f71 100644 --- a/jOOQ-meta/src/main/java/org/jooq/meta/sqlite/SQLiteDatabase.java +++ b/jOOQ-meta/src/main/java/org/jooq/meta/sqlite/SQLiteDatabase.java @@ -248,13 +248,11 @@ public class SQLiteDatabase extends AbstractDatabase { "_" + record.get("table"); Integer sequence = map.get(foreignKeyPrefix); - if (sequence == null) { + if (sequence == null) sequence = 0; - } - if (0 == record.get("seq", Integer.class)) { + if (0 == record.get("seq", Integer.class)) sequence = sequence + 1; - } map.put(foreignKeyPrefix, sequence); @@ -265,6 +263,7 @@ public class SQLiteDatabase extends AbstractDatabase { String foreignKeyTableName = table.getName(); String foreignKeyColumn = record.get("from", String.class); + String uniqueKeyColumn = record.get("to", String.class); // SQLite mixes up cases from the actual declaration and the // reference definition! It's possible that a table is declared @@ -281,9 +280,11 @@ public class SQLiteDatabase extends AbstractDatabase { relations.addForeignKey( foreignKey, foreignKeyTable, - foreignKeyTable.getColumn(foreignKeyColumn), + foreignKeyTable.getColumn(foreignKeyColumn, true), uniqueKey, - uniqueKeyTable + uniqueKeyTable, + uniqueKeyTable.getColumn(uniqueKeyColumn, true), + true ); } }