Slick表中的动态表名称覆盖

时间:2013-12-13 06:51:40

标签: scala slick

我在DB视图中定义了一个光滑的表格。每天我们创建一个日期视图,匹配相同的结构,名称后面附有日期为T_SUMMARY_,即T_SUMMARY_20131213。

是否有一种方法可以动态覆盖表名,以便为正确的日期视图生成所需的查询。

object TSummary extends Table[(String)]("T_SUMMARY")
{
    def id = column[String]("ROWID", O.PrimaryKey)
    def tNum = column[Int]("T_NUM")
    def tName = column[Int]("T_NAME")
    def * = id
}

1 个答案:

答案 0 :(得分:7)

在Slick 1.0.1中:

def mkSummaryTable(name: String) = new Table[(String)](name){
  def id = column[String]("ROWID", O.PrimaryKey)

  def tNum = column[Int]("T_NUM")

  def tName = column[Int]("T_NAME")

  def * = id
}
val current = mkSummaryTable("T_SUMMARY_20131213")
for( r <- Query(current) ) yield r.tName

对于Slick 2.0,请参阅https://groups.google.com/d/msg/scalaquery/95Z7AfxKP_4/omGnAtuN8FcJ

class MyTable(tag: Tag, tableName: String) extends Table[(String)](tag, tableName){
          def id = column[String]("ROWID", O.PrimaryKey)
          def tNum = column[Int]("T_NUM")
          def tName = column[Int]("T_NAME")
          def * = id
 }

val tQ = TableQuery[MyTable]((tag:Tag) => new MyTable(tag, "SomeTableName")) filter ...