aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/com/drivergrp/core/database.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/com/drivergrp/core/database.scala')
-rw-r--r--src/main/scala/com/drivergrp/core/database.scala30
1 files changed, 21 insertions, 9 deletions
diff --git a/src/main/scala/com/drivergrp/core/database.scala b/src/main/scala/com/drivergrp/core/database.scala
index f39512c..89cfac1 100644
--- a/src/main/scala/com/drivergrp/core/database.scala
+++ b/src/main/scala/com/drivergrp/core/database.scala
@@ -11,14 +11,6 @@ object database {
trait Database {
val profile: JdbcProfile
val database: JdbcProfile#Backend#Database
-
- import profile.api._
-
- implicit def idColumnType[T] =
- MappedColumnType.base[Id[T], Long]({ id => id: Long }, { id => Id[T](id) })
-
- implicit def nameColumnType[T] =
- MappedColumnType.base[Name[T], String]({ name => name: String }, { name => Name[T](name) })
}
object Database {
@@ -33,8 +25,28 @@ object database {
}
}
- trait DatabaseObject {
+
+ trait IdColumnTypes {
+ val database: Database
+
+ import database.profile.api._
+
+ implicit def idColumnType[T] =
+ MappedColumnType.base[Id[T], Long]({ id => id: Long }, { id => Id[T](id) })
+
+ implicit def nameColumnType[T] =
+ MappedColumnType.base[Name[T], String]({ name => name: String }, { name => Name[T](name) })
+ }
+
+
+ trait DatabaseObject extends IdColumnTypes {
+
def createTables(): Future[Unit]
def disconnect(): Unit
}
+
+ abstract class DatabaseObjectAdapter extends DatabaseObject {
+ def createTables(): Future[Unit] = Future.successful(())
+ def disconnect(): Unit = {}
+ }
}