From 4fd0334c698a7981736232abacfd9753c3169bb3 Mon Sep 17 00:00:00 2001 From: Stewart Stewart Date: Sat, 19 Nov 2016 18:13:32 -0500 Subject: prevent IdColumnTypes initialization order bugs --- src/main/scala/xyz/driver/core/database.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main/scala/xyz') diff --git a/src/main/scala/xyz/driver/core/database.scala b/src/main/scala/xyz/driver/core/database.scala index 85a8cc4..255507e 100644 --- a/src/main/scala/xyz/driver/core/database.scala +++ b/src/main/scala/xyz/driver/core/database.scala @@ -42,7 +42,7 @@ object database { implicit def nameColumnType[T] = MappedColumnType.base[Name[T], String](name => name: String, Name[T](_)) - implicit val timeColumnType = MappedColumnType.base[Time, Long](time => time.millis, Time(_)) + implicit lazy val timeColumnType = MappedColumnType.base[Time, Long](time => time.millis, Time(_)) } trait DatabaseObject extends IdColumnTypes { -- cgit v1.2.3 From 85eb4681d944355b51fd757b17c6e38027a8c2f4 Mon Sep 17 00:00:00 2001 From: Stewart Stewart Date: Mon, 21 Nov 2016 15:59:32 -0500 Subject: more hygenic implicits for slick column type mapping --- src/main/scala/xyz/driver/core/database.scala | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/main/scala/xyz') diff --git a/src/main/scala/xyz/driver/core/database.scala b/src/main/scala/xyz/driver/core/database.scala index 255507e..3509167 100644 --- a/src/main/scala/xyz/driver/core/database.scala +++ b/src/main/scala/xyz/driver/core/database.scala @@ -31,21 +31,22 @@ object database { def drop: DBIOAction[Unit, NoStream, slick.dbio.Effect.Schema] } - trait IdColumnTypes { + trait ColumnTypes { val database: Database import database.profile.api._ - implicit def idColumnType[T] = + implicit def `xyz.driver.core.Id-columnType`[T] = MappedColumnType.base[Id[T], Long](id => id: Long, Id[T](_)) - implicit def nameColumnType[T] = + implicit def `xyz.driver.core.Name-columnType`[T] = MappedColumnType.base[Name[T], String](name => name: String, Name[T](_)) - implicit lazy val timeColumnType = MappedColumnType.base[Time, Long](time => time.millis, Time(_)) + implicit def `xyz.driver.core.time.Time-columnType` = + MappedColumnType.base[Time, Long](time => time.millis, Time(_)) } - trait DatabaseObject extends IdColumnTypes { + trait DatabaseObject extends ColumnTypes { // implicit val exec: ExecutionContext -- cgit v1.2.3 From 12c860bda0afee241b580c0e04e1fd7c8955a569 Mon Sep 17 00:00:00 2001 From: Stewart Stewart Date: Tue, 22 Nov 2016 12:14:28 -0500 Subject: replace '-' with '.' in implicit names --- src/main/scala/xyz/driver/core/database.scala | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/main/scala/xyz') diff --git a/src/main/scala/xyz/driver/core/database.scala b/src/main/scala/xyz/driver/core/database.scala index 3509167..4af81f3 100644 --- a/src/main/scala/xyz/driver/core/database.scala +++ b/src/main/scala/xyz/driver/core/database.scala @@ -36,13 +36,13 @@ object database { import database.profile.api._ - implicit def `xyz.driver.core.Id-columnType`[T] = + implicit def `xyz.driver.core.Id.columnType`[T] = MappedColumnType.base[Id[T], Long](id => id: Long, Id[T](_)) - implicit def `xyz.driver.core.Name-columnType`[T] = + implicit def `xyz.driver.core.Name.columnType`[T] = MappedColumnType.base[Name[T], String](name => name: String, Name[T](_)) - implicit def `xyz.driver.core.time.Time-columnType` = + implicit def `xyz.driver.core.time.Time.columnType` = MappedColumnType.base[Time, Long](time => time.millis, Time(_)) } -- cgit v1.2.3