Kotlin Exposed/Postgresql в нижнем регистре вводит имя моей таблицы в запросах; как использовать заглавные имена таблиц?

У меня есть следующий запрос SQL с использованием Kotlin Exposed для сервера Postgres с заглавной буквы таблицы:

object Table: IntIdTable("Table") {
    val tC = text("Text")
    val vC = text("Value")
}

Database.connect("jdbc:postgresql://...", driver = "org.postgresql.Driver")
transaction {
    logger.addLogger(StdOutSqlLogger)
    val query = Table.select {
        Table.id eq 5
    }
    query.forEach {
        println( it[Table.tC] )
    }
}

Но я возвращаюсь Exception in thread "main" org.postgresql.util.PSQLException: ERROR: relation "table" does not exist

Обычно я просто смогу процитировать имя таблицы "Table" использовать имена таблиц с заглавными буквами, но не могу этого сделать с Kotlin Exposed; Так есть ли способ использовать имя таблицы с заглавной буквы, не допуская его в нижнем регистре?

1 ответ

Мне удалось решить эту проблему, используя экранированные кавычки в строке таблицы, пример для приведенного выше вопроса будет следующим:

object Table : IntIdTable("\"Table\"") {

Не могли бы вы предоставить образец целиком и указать место, где выдается исключение? Из текущего кода неясно, кто и как пытается создать relation к столу.

Другие вопросы по тегам