我在 scala 项目中使用slick来查询一些表。
//define table
object Addresses extends Table[Address]("assetxs.address") {
def id = column[Int]("id", O.PrimaryKey)
def street = column[String]("street")
def number = column[String]("number")
def zipcode = column[String]("zipcode")
def country = column[String]("country")
def * = id ~ street ~ number ~ zipcode ~ country <> (Address, Address.unapply _)
}
如果我使用此表的任何查询,它都不起作用(它说它找不到我的表)所以我更进一步并打印出如下查询:
implicit val session = Database.forURL("jdbc:postgresql://localhost:5432/postgres", driver = "org.postgresql.Driver", user="postgres", password="postgres").createSession()
session.withTransaction{
val query = Query(Addresses)
println("Addresses: " + query.selectStatement)
}
我注意到 schema.table 的名称出现在""
所以语句是:
select x2."id", x2."street", x2."number", x2."zipcode", x2."country"
from "assetxs.address" x2
这当然不起作用(我尝试在 PostgreSQL 工具中运行它,我需要""
从表名中删除才能让它工作。
您能否告诉我""
在使用表名时是否有任何不包含在任何查询中的巧妙选项?