11
如何讓Slick創建一個允許小數的Decimal SQL類型?
看來,默認情況下,Slick不允許我使用下面的代碼注意到小數。它在MySQL中創建一個數據類型爲decimal(10,0)
的列。Scala Slick/ScalaQuery BigDecimal創建小數(10,0)如何允許小數?
我在我的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 _)
}
在啓動過程中我用油滑創建該表,除非它已與此代碼
...
lazy val database = Database.forDataSource(DB.getDataSource())
database.withSession {
if (MTable.getTables("timeType").list.isEmpty) {
TimeTypes.ddl.create
...
太好了,非常感謝。 – Farmor
似乎用Slick 3+應該使用'O.SqlType'而不是'O.DBType'。 – michaJlS