当使用tableQuery.ddl.create时,它只创建投影中的列。但在我们的用例中,有些列仅用于过滤和/或排序,因此它们不是投影的一部分,但仍需要被创建:
case class CacheEntry(source: String, destination: String, hops: Int)
class CacheTable(tag: Tag) extends Table[CacheEntry](tag, "cache") {
def source = column[String]("source")
def destination = column[String]("dest")
def hops = column[Int]("hops")
def timestamp = column[LocalDateTime]("ts", O.DBType("timestamp default now"))
def * = (source, destination, hops) <> ((CacheEntry.apply _).tupled, CacheEntry.unapply)
}
我们如何说服Slick使用TableQuery [CacheTable] .ddl.create
创建时间戳列?
我们是否采用了错误的方法? 我们绝对不希望ts出现在CacheEntry中(在这种情况下,我们可以接受它,但我们有更复杂的情况,这是不可取的)