scala - Slick 表中的动态表名覆盖

标签 scala slick

我在 DB View 上定义了一个光滑的表,如下所示。每天我们都会创建一个与相同结构匹配的日期 View ,名称后附日期为 T_SUMMARY_,即 T_SUMMARY_20131213。

有没有一种巧妙的方法可以动态覆盖表名以生成正确的日期 View 所需的查询。

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
}

最佳答案

在 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 ...

关于scala - Slick 表中的动态表名覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20560721/

相关文章:

java - Flink 没有向 kafka 提交偏移量

java - 不覆盖接口(interface)默认实现时编译失败

scala - 无法使用 IDEA 和 SBT 运行 LWJGL

scala - Scala Slick 3.0 中的随机行

scala - 使用 slick 插入和更新数据时丢弃值

scala - 如何使方法通用而不得到 "No matching Shape found"

scala slick 一对多集合

scala - 将自定义谓词传递给 TableQuery 的过滤方法

postgresql - Slick and bonecp : org. postgresql.util.PSQLException : FATAL: sorry, 太多客户端已经错误

scala - 在Scala中使用Some()和Option()