Diesel не генерирует запросы с использованием общедоступной схемы - PullRequest
0 голосов
/ 30 июня 2019

Я использую Diesel с Postgres, и запрос, сгенерированный дизелем, не включает схему в качестве префикса в предложении from.Например, у меня есть таблица с именем узлов, чья таблица!выглядит следующим образом:

table! {
nodes (id) {
    id -> BigInt,
    chunks -> Bytea,
    content_length -> BigInt,
    content_type -> Text,
    uri -> Text,
    checksum -> Nullable<Text>,
} }

Когда я подключаюсь к postgres, используя одного пользователя, владеющего базой данных, сгенерированный запрос работает очень хорошо, но если я подключаюсь к postgres, используя пользователя, который не является владельцем базы данных,сгенерированный запрос не работает, потому что дизель не помещает общедоступную схему перед именем таблицы в предложении from.

Запрос должен иметь Select * from public."nodes" префикс public перед именем табе, но дизель генерирует запрос, подобныйSelect * from "nodes", который работает, только если пользователь, вошедший в базу данных, является владельцем базы данных.

Спасибо!

...