私はscalaプロジェクトでslickを使用していくつかのテーブルをクエリしています。PostgreSQLを使用するときに問題が発生する
//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)
}
私は気づい
もちろん(私はPostgreSQLのツールでそれを実行しようとしたと私はを削除するために必要な動作しませんselect x2."id", x2."street", x2."number", x2."zipcode", x2."country"
from "assetxs.address" x2
:にschema.tableの名前はとても文がある""
に表示されます。テーブル名から作業してください。
テーブル名を使用しているときにすべてのクエリに""
を含めないようにすっきりとしたオプションがある場合は教えてください。
あなたがいますこれがあなたが抱えている問題であることを確認してください。引用符で囲まれていない識別子は、PostgreSQLでは小文字に変換されます。例では、引用符を削除すると同じクエリが返されます。 –
@AntsAasma、私は "assetxs.address"が頭痛を与えるものだと確信しています。 –
http://stackoverflow.com/questions/6720626/how-do-i-specify-a-postgresql-schema-in-scalaquery –