2013-12-15 23 views
9

numaralı etiketin tanımı hakkında daha fazla açıklama için slick 2'ye geçiş üzerinde çalışıyorum ama herhangi bir yerde bulamadığım bir sınıfa rastlıyorum. o Etiket Ben içinden gidiyorum öğretici ancak tip Seçeneği [Dizgi] olduğunu söylüyorSlick 2.0.0-M3 tablo tanımları -

import scala.slick.driver.PostgresDriver.simple._ 

class Suppliers(tag: Tag) extends Table[(String, String, Int, String)](tag, "suppliers") { 
    def snum = column[String]("snum") 
    def sname = column[String]("sname") 
    def status = column[Int]("status") 
    def city = column[String]("city") 
    def * = (snum, sname, status, city) 
} 

Tablo için tanımda: Aşağıdaki

package learningSlick 

import scala.slick.driver.MySQLDriver.simple._ 

case class Supplier(snum: String, sname: String, status: Int, city: String) 

class Suppliers(tag: Option[String]) extends Table[Supplier](tag, "suppliers") { 
    def snum = column[String]("snum") 
    def sname = column[String]("sname") 
    def status = column[Int]("status") 
    def city  = column[String]("city") 
    def * = snum ~ sname ~ status ~ city <> (Supplier, Supplier.unapply _) 
} 

öğreticisindeki kodudur sadece bir tür Tag kullanır. Bunun hangi paketten geldiğini arıyorum.

cevap

9

Tablo tanımının kontrol edilmesi, Tag: Table definition türünün, Option[String] türünü okuduğunuzu veya okuduğunu bilmediğini görebilir.

Tag definition Yani scala.slick.lifted paketinden geliyor soruna cevap vermek gerekirse: Tag tıklandığında

Etiket tanımını getirir.

Tag, aslında yapısını sorgulamanız gerekmeyecektir, çünkü Tag ile ilgili tüm öğelerin ilgilenir.