Пример запроса:
SELECT error->>'message' as message
FROM error_cases
На самом деле мой запрос намного сложнее, и я хотел бы убедиться, что будущие изменения кода не уничтожат данные, которые выводит этот запрос. Я хотел бы сравнить результат этого запроса с некоторыми конкретными результатами, которые у меня уже есть. Я использую библиотеку testing.postgresql
для создания временной базы данных, запуска запроса, сохранения выходных данных и уничтожения базы данных.
В моем запросе используется запись Postgresql ->>
. Я получаю сообщение об ошибке:
psycopg2.errors.UndefinedFunction: operator does not exist: text ->> unknown
Для воспроизведения сначала создаю таблицу:
cur.execute('CREATE TABLE error_cases (error TEXT NOT NULL)')
Затем вставляю данные:
cur.execute('INSERT INTO error_cases
VALUES ('{"message": "someMessage"}')
И выбираю:
select (error->>'message') as message from error_cases
Я посмотрел на sqlalchemy
для запроса данных, но проблема в том, что я хочу протестировать этот конкретный запрос, который у меня есть. В sqlalchemy
для получения JSON я не могу использовать нотацию Postgresql ->>
, которая есть в моем запросе.
--- Есть ли другой способ выполнить запрос, содержащий оператор ->>
, для созданной базы данных используя testing.postgresql
?