PostgreSQL рассчитанный индекс для JSON значения не работает в peewee? - PullRequest
0 голосов
/ 03 августа 2020

Я использую peewee для создания PostgreSQL рассчитанного индекса из значения в столбце JSON. Вот код

idx = Tweet.index(Tweet.data['x'], name='x')
Tweet.add_index(idx)

Это дает следующее SQL, которое не работает.

CREATE INDEX IF NOT EXISTS "x" ON "tweet" ("data"->>'x')

Согласно PostgreSQL docs, * Выражение 1021 * должно быть заключено в два набора круглых скобок, как показано ниже:

CREATE INDEX IF NOT EXISTS "x" ON "tweet" (("data"->>'x'))

Я что-то делаю не так, или это ошибка Peewee? Как я могу это исправить?

1 Ответ

0 голосов
/ 04 августа 2020

Это похоже на ошибку postgres, потому что это чертовски произвольно. В этом случае просто добавьте индекс явно с помощью помощника SQL():

Tweet.add_index(SQL('create index ...'))
...