2013-12-15 7 views
9

私は滑りやすい2に移行していますが、私はどこでも見つけられないようなクラスに出くわしました。Slick 2.0.0-M3テーブル定義 - タグ属性の明確化

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 _) 
} 

次は、チュートリアルからコードです:それはタグは私がそれを介して行くよチュートリアルでしかしタイプオプション[文字列]であることを述べている表の定義で

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) 
} 

ちょうどタイプのタグを使用します。私はこれがどのパッケージから来ているのか探しています。

答えて

9

テーブルの定義を確認すると、タイプがTagであることがわかります。Table definitionどこかを読んだり、タイプがOption[String]であることがわかりません。だから、scala.slick.liftedパッケージから来るあなたの質問に答えるためにTag definition

Tagをクリック

は、タグの定義が表示されます。

実際にTagを作成する必要はありません。これは、Tag関連のすべてのものを処理するval suppliers = TableQuery[Suppliers]構成でクエリするためです。