This is a bug in the Joda Mapper (https://github.com/tototoshi/slick-joda-mapper ).
There is actually a lot of code in that mapper to do something very simple. To get around this problem it's best to just define a simple custom column type for joda DateTime like this:
import java.sql.Timestamp
import org.joda.time.DateTime
import org.joda.time.DateTimeZone.UTC
object CustomColumnTypes {
implicit lazy val jodaType = MappedColumnType.base[DateTime, Timestamp](
{d => new Timestamp(d.getMillis)} ,
{d => new DateTime(d.getTime, UTC)}
)
}
Make sure to import the respective .simple._
from your driver of choice.
eg:
import scala.slick.driver.SQLiteDriver.simple._
For latest versions of slick, scala and joda Packages to import:
"org.joda" % "joda-convert" % "2.2.1", // for time convert
"com.github.tototoshi" %% "slick-joda-mapper" % "2.4.2", // 2.4 doesn't work
"joda-time" % "joda-time" % "2.7",
"org.xerial" % "sqlite-jdbc" % "3.30.1", // sqlite driver
Slick packages:
"com.typesafe.slick" %% "slick" % "3.3.2",
"com.typesafe.slick" %% "slick-codegen" % "3.3.2", // for generating Table schema for sqlite db
Imports for the code:
import slick.jdbc.SQLiteProfile.api._
Database.forURL(url = absoluteDatabaseUrl)