小数を許可する Decimal SQL 型を作成するように Slick に指示するにはどうすればよいですか?
デフォルトでは、Slick は以下のコードで気付いた小数を許可していないようです。decimal(10,0)
MySQLのデータ型で列を作成します。
Scala コードに次のモデルがあります。
import scala.slick.driver.MySQLDriver.simple._
case class TimeType(id: Option[Int], name: String,
employeeMultiplier: BigDecimal, employerMultiplier: BigDecimal)
object TimeTypes extends Table[TimeType]("timeType") {
def id = column[Int]("id", O.PrimaryKey, O.AutoInc)
def name = column[String]("name")
def employeeMultiplier = column[BigDecimal]("employeeMultiplier")
def employerMultiplier = column[BigDecimal]("employerMultiplier")
def * = id.? ~ name ~ employeeMultiplier ~ employerMultiplier <> (TimeType, TimeType.unapply _)
}
起動時に、このコードで既に存在しない限り、Slick を使用してこのテーブルを作成します
...
lazy val database = Database.forDataSource(DB.getDataSource())
database.withSession {
if (MTable.getTables("timeType").list.isEmpty) {
TimeTypes.ddl.create
...