3

私は 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')"))
...
}
4

1 に答える 1