Как выполнить отражение / самоанализ таблицы в SQLAlchemy из базы данных Sybase с Python? - PullRequest
4 голосов
/ 07 марта 2012

Некоторые полезные пользователи stackoverflow отметили , что ни плагины pyodbc, ни python-sybase не поддерживают отражение таблиц Sybase в SQLAlchemy .

Итак, мой вопрос: существуют ли какие-либо альтернативы для отражения метаданных базы данных для таблиц в развертывании Sybase?Или, если это невозможно, есть ли разумный способ обезопасить и / или собрать воедино решение, позволяющее использовать метаданные таблицы для анализа и построения запросов?

1 Ответ

5 голосов
/ 07 марта 2012

все сводится к вызову информационной схемы, предоставляемой базой данных, которая представляет собой набор таблиц и / или представлений, из которых вы можете выбирать, которые затем возвращают данные о таблицах, столбцах и всем остальном.

В случае Sybase у них действительно очень сложный формат для их информационной схемы (в основном из-за формата столбцов 16 + 16 для представления ограничений внешнего ключа ), поэтому, когда я создал Sybase На диалекте я оставил отраженную часть работы как «todo». Нет технической причины, по которой это невозможно сделать, это просто долгая и утомительная работа, и у нас практически никто пока не использует диалект Sybase.

Если вы хотите обработать некоторые базовые запросы для имен таблиц и столбцов, мы можем зафиксировать их прямо в SQLAlchemy. Схема, с которой вы будете работать, документирована в этом разделе: http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.ase_15.0.tables/html/tables/tables2.htm, и там вы будете смотреть на sysobjects, syscolumn и sysreferences.

...