diff options
Diffstat (limited to 'src/main/scala/xyz/driver/core/database')
-rw-r--r-- | src/main/scala/xyz/driver/core/database/database.scala | 2 | ||||
-rw-r--r-- | src/main/scala/xyz/driver/core/database/package.scala | 17 |
2 files changed, 18 insertions, 1 deletions
diff --git a/src/main/scala/xyz/driver/core/database/database.scala b/src/main/scala/xyz/driver/core/database/database.scala index 3db9c9e..a8aec63 100644 --- a/src/main/scala/xyz/driver/core/database/database.scala +++ b/src/main/scala/xyz/driver/core/database/database.scala @@ -39,7 +39,7 @@ package database { MappedColumnType.base[Time, Long](_.millis, Time(_)) implicit def `xyz.driver.core.time.Date.columnType`: BaseColumnType[Date] = - MappedColumnType.base[Date, java.sql.Date](_.toJavaSqlDate, Date.fromJavaDate(_)) + MappedColumnType.base[Date, java.sql.Date](dateToSqlDate(_), sqlDateToDate(_)) } object ColumnTypes { diff --git a/src/main/scala/xyz/driver/core/database/package.scala b/src/main/scala/xyz/driver/core/database/package.scala index a664cff..295e556 100644 --- a/src/main/scala/xyz/driver/core/database/package.scala +++ b/src/main/scala/xyz/driver/core/database/package.scala @@ -1,8 +1,25 @@ +package xyz.driver.core + +import java.sql.{Date => SqlDate} +import java.util.Calendar + +import date.{Date, javaDateToDate} import slick.dbio.{DBIOAction, NoStream} + package object database { type Schema = { def create: DBIOAction[Unit, NoStream, slick.dbio.Effect.Schema] def drop: DBIOAction[Unit, NoStream, slick.dbio.Effect.Schema] } + + private[database] def sqlDateToDate(date: SqlDate): Date = javaDateToDate(date) + + private[database] def dateToSqlDate(date: Date): SqlDate = { + val cal = Calendar.getInstance() + cal.set(Calendar.YEAR, date.year - 1900) + cal.set(Calendar.MONTH, date.month) + cal.set(Calendar.DAY_OF_MONTH, date.day) + new SqlDate(cal.getTime.getTime) + } } |