私はいくつかのテーブルをクエリするために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ツールで実行しようとしましたが、機能させるにはテーブル名""
から削除する必要がありました。
""
テーブル名を使用するときにクエリに含めないための巧妙なオプションがあるかどうか教えてください。