From 482459a63433c281b7a576236111e6a86e4521c9 Mon Sep 17 00:00:00 2001 From: vlad Date: Sat, 16 Jul 2016 04:09:40 -0400 Subject: Default implementations for easier testing + Database implicits reorganized --- src/main/scala/com/drivergrp/core/database.scala | 30 +++++++++++++++++------- 1 file changed, 21 insertions(+), 9 deletions(-) (limited to 'src/main/scala/com/drivergrp/core/database.scala') 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 = {} + } } -- cgit v1.2.3