Come posso dire a Slick di creare un tipo SQL decimale che consenta decimali?
Sembra che per impostazione predefinita Slick non consenta decimali che ho notato con il codice sottostante. Crea una colonna con il tipo di dati decimal(10,0)
in MySQL.Scala Slick/ScalaQuery BigDecimal crea decimali (10,0) come consentire i decimali?
ho il seguente modello nel mio codice 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 _)
}
Durante l'avvio ho creare questa tabella utilizzando Slick a meno che non esista già con questo codice
...
lazy val database = Database.forDataSource(DB.getDataSource())
database.withSession {
if (MTable.getTables("timeType").list.isEmpty) {
TimeTypes.ddl.create
...
Ottimo, ha funzionato magnificamente grazie. – Farmor
Sembra che con Slick 3+ si debba usare 'O.SqlType' invece di' O.DBType'. – michaJlS