Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

स्कैला स्लिक में एनम्स का उपयोग कैसे करें?

मैंने निम्नलिखित तरीके से Enums के साथ समस्या का समाधान किया (उदाहरण के लिए आपके मान लेते हुए):

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 */ 

}

अगर मेरे लिए Play 2.1 और Play 2.2, Slick 1.0.0 और MariaDB 5.5 (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. CentOs Php और MySql कॉन्फ़िगरेशन

  2. सर्वर पर MySQL डेटाबेस के साथ एंड्रॉइड फोन पर SQLite डेटाबेस को कैसे सिंक करें?

  3. सीक्वेलाइज़:मल्टीपल जहाँ क्लॉज

  4. पायथन का उपयोग करके एक MySQL डीबी में बीएलओबी के रूप में संग्रहीत फ़ाइल को कैसे सम्मिलित/पुनर्प्राप्त करें?

  5. मैं mySQL डेटाबेस के साथ ठीक से इंटरैक्ट करने के लिए अपना लॉगिन फॉर्म प्राप्त नहीं कर सकता