Tôi đang sử dụng slick trong dự án scala để truy vấn một số bảng.Vấn đề phát sinh khi đi với 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 _)
}
Nếu tôi sử dụng bất kỳ truy vấn của bảng này nó không hoạt động (nó nói nó không thể tìm bàn của tôi) vì vậy tôi đã đi xa hơn và in ra các truy vấn như:
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)
}
tôi nhận thấy rằng tên của schema.table xuất hiện trong ""
nên tuyên bố là:
select x2."id", x2."street", x2."number", x2."zipcode", x2."country"
from "assetxs.address" x2
trong đó tất nhiên không làm việc (tôi đã cố gắng để chạy nó trong công cụ PostgreSQL và tôi cần phải loại bỏ ""
từ tên bảng để làm việc đó.
Bạn có thể vui lòng cho tôi biết nếu có bất kỳ tùy chọn nào để không bao gồm ""
trong bất kỳ truy vấn nào khi sử dụng tên bảng?
Bạn chắc chắn rằng đây là vấn đề bạn đang gặp phải? Số nhận dạng không được kiểm định được chuyển đổi thành trường hợp thấp hơn trong PostgreSQL, trong ví dụ của bạn, loại bỏ các dấu ngoặc kép sẽ dẫn đến một truy vấn giống hệt nhau. –
@AntsAasma, tôi chắc chắn rằng "assetxs.address" là phần mềm gây ra đau đầu. –
http://stackoverflow.com/questions/6720626/how-do-i-specify-a-postgresql-schema-in-scalaquery –