Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara menggunakan Enum di Scala Slick?

Saya memecahkan masalah dengan Enums dengan cara berikut (mengambil nilai Anda sebagai contoh):

import play.api.db.slick.DB
import play.api.db.slick.Config.driver.simple._


sealed trait MyEnum
case object MyEnumA extends MyEnum
case object MyEnumB extends MyEnum
case object MyEnumC extends MyEnum

object MyEnumMapper {
  val string_enum_mapping:Map[String,MyEnum] = Map(
     "a" -> MyEnumA,
     "b" -> MyEnumB,
     "c" -> MyEnumC
  )
  val enum_string_mapping:Map[MyEnum,String] = string_enum_mapping.map(_.swap)
  implicit val myEnumStringMapper = MappedTypeMapper.base[MyEnum,String](
    e => enum_string_mapping(e),
    s => string_enum_mapping(s)
  )
}

import MyEnumMapper._

case class MyData(
 ......
 enumValue: MyEnum,
 .....
)

................

object MyDataTable extends Table[MyData]("<table_name>") {
......
def enumValue = column[MyEnum]("<field_name>")
.....

.... /* whatever lifted or direct slick calls you want */ 

}

Jika berfungsi untuk saya di Play 2.1 dan Play 2.2, Slick 1.0.0 dan MariaDB 5.5 (sama seperti MySQL)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mendapatkan dari server MySql ke aplikasi Android?

  2. MySQL:Perbarui semua baris dalam tabel yang cocok dengan hasil kueri lain

  3. Gabungkan dan Urutkan dua Koleksi Fasih?

  4. Simpan beberapa baris dari database mysql menjadi satu variabel tunggal

  5. Bagaimana cara membuat kumpulan koneksi MySQL saat bekerja dengan NodeJS dan Express?