aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStewart Stewart <stewinsalot@gmail.com>2017-02-28 09:53:09 -0800
committerStewart Stewart <stewinsalot@gmail.com>2017-02-28 09:53:09 -0800
commit6dc60108716bc2aaa1c3be6aeae06b0973524328 (patch)
tree6c68a336dfb723c4274d5121a247eadfaac7586d
parent6f8a6aa14ca0d8b1b86c10603f46fe1564df2875 (diff)
downloadslick-codegen-plugin-6dc60108716bc2aaa1c3be6aeae06b0973524328.tar.gz
slick-codegen-plugin-6dc60108716bc2aaa1c3be6aeae06b0973524328.tar.bz2
slick-codegen-plugin-6dc60108716bc2aaa1c3be6aeae06b0973524328.zip
fix primary key filter in mapper generator
-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"