私は Scala と Slick が初めてで、この組み込み型マッパーを AnyType から Booleanに見つけました。「y」を true に、「n」を false にマップする必要がありますが、これは単純なようです。誰かがそれを使用する方法を教えてもらえますか? 私の現在のコードは次のようなもので、車輪を再発明しています:
sealed trait YesNoBoolean
case object True extends YesNoBoolean
case object False extends YesNoBoolean
implicit val boolTypeMapper = MappedColumnType.base[YesNoBoolean, String](
{ b =>
assertNotNull(b)
if(b == True) "y" else "n"
}, { i =>
assertNotNull(i)
if(i == "y") True else False
}
)
実際には、実際のブール型にマップする必要があります。この悪意のあるスキーム (PHP のレガシー) を使用する列がいくつかあります。
テーブル定義でこれを行う必要があると思います:
object Record extends Table[(Int,YesNoBoolean)]("record") {
def is_usable_entry = column[YesNoBoolean]("usable_entry", O.DBType("enum('y','n')"))
...
}