Поддерживает ли SQLAlchemy "закрытие таблиц"?
Я читал о таблицах замыканий как способ моделирования иерархий по SQL.
Имеет ли [SQLAlchemy] встроенную поддержку для создания и обхода иерархических коллекций экземпляров объектов (древовидных коллекций) с использованием таблиц замыканий?
1 ответ
Я недавно писал в блоге по этому вопросу.
По большей части sqlalchemy не делает ничего такого, чего не делает SQL; sqlalchemy на самом деле предоставляет только способы генерации sql и превращения результирующих наборов в красивые объекты python.
Если ваша база данных предоставляет некоторые полезные инструменты для работы с рекуррентными отношениями, такие как CONNECT BY
или же WITH RECURSIVE
конструкции, то sqlalchemy можно легко адаптировать для обработки результирующих запросов как выбираемых и отображаемых объектов python.
В этой статье я столкнулся с реализацией частичного порядка чтения-записи в MySQL, который не предлагает помощи на уровне SQL для рекурсивных структур данных. Разработанное мной решение создало аналог инструментального атрибута стиля sqlalchemy, который поддерживал инвариант транзитивного замыкания за кулисами.