aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/scala/TypedIdTable.scala8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/main/scala/TypedIdTable.scala b/src/main/scala/TypedIdTable.scala
index 81a6dcf..08b2b28 100644
--- a/src/main/scala/TypedIdTable.scala
+++ b/src/main/scala/TypedIdTable.scala
@@ -56,8 +56,12 @@ class TypedIdSourceCodeGenerator(
def PrimaryKeyMapper = new PrimaryKeyMapper { }
class PrimaryKeyMapperDef extends TermDef {
- def primaryKeyColumn: Option[Column] = table.primaryKey.filter(_.columns.length == 1).flatMap(_.columns.headOption)
-
+ def primaryKeyColumn: Option[Column] = {
+ table.model.columns
+ .filter(_.options.contains(slick.ast.ColumnOption.PrimaryKey))
+ .headOption.map(c => table.columnsByName(c.name))
+ }
+
override def enabled = primaryKeyColumn.isDefined
override def doc = s"Implicit for mapping primary key of ${tableName} to a base column"