aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvlad <vlad@driver.xyz>2017-02-28 22:54:07 -0800
committervlad <vlad@driver.xyz>2017-02-28 22:54:07 -0800
commit2d37efd815846e976d1bf8aee5c20727bb89b09e (patch)
treef1c44c1c8457001a84942f0efeb0ee1396773fec
parentca1abf1103139da68c1c2e938636d1d7d03b6b01 (diff)
downloaddriver-core-0.10.22.tar.gz
driver-core-0.10.22.tar.bz2
driver-core-0.10.22.zip
Key mappers for generated codev0.10.22
-rw-r--r--src/main/scala/xyz/driver/core/database/database.scala10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/core/database/database.scala b/src/main/scala/xyz/driver/core/database/database.scala
index c14d0a5..b7a4165 100644
--- a/src/main/scala/xyz/driver/core/database/database.scala
+++ b/src/main/scala/xyz/driver/core/database/database.scala
@@ -111,6 +111,16 @@ package database {
}
}
+ trait KeyMappers extends ColumnTypes {
+ import profile.api._
+
+ def uuidKeyMapper[T] =
+ MappedColumnType
+ .base[Id[T], java.util.UUID](id => java.util.UUID.fromString(id.value), uuid => Id[T](uuid.toString))
+ def serialKeyMapper[T] = MappedColumnType.base[Id[T], Long](_.value.toLong, serialId => Id[T](serialId.toString))
+ def naturalKeyMapper[T] = MappedColumnType.base[Id[T], String](_.value, Id[T](_))
+ }
+
trait DatabaseObject extends ColumnTypes {
def createTables(): Future[Unit]
def disconnect(): Unit