aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/core/database
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz/driver/core/database')
-rw-r--r--src/main/scala/xyz/driver/core/database/database.scala2
-rw-r--r--src/main/scala/xyz/driver/core/database/package.scala17
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)
+ }
}