С точки зрения пользователя, ведение журнала запросов SQLAlchemy кажется слишком громоздким и даже несколько загадочно временами:дружественный каротаж запрос в SQLAlchemy
2015-10-02 13:51:39,500 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2015-10-02 13:51:39,502 INFO sqlalchemy.engine.base.Engine SELECT anon_1.shelves_title AS anon_1_shelves_title, ..., anon_1.shelves_created_at AS anon_1_shelves_created_at, anon_1.shelves_updated_at AS anon_1_shelves_updated_at, products_1.id AS products_1_id, products_1.title AS products_1_title
FROM (SELECT shelves.title AS shelves_title, ..., shelves.created_at AS shelves_created_at, shelves.updated_at AS shelves_updated_at
FROM shelves
WHERE shelves.title = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN products AS products_1 ON anon_1.shelves_title = products_1.shelf_title
2015-10-02 13:51:39,502 INFO sqlalchemy.engine.base.Engine ('sample', 1, 0)
2015-10-02 13:51:39,503 INFO sqlalchemy.engine.base.Engine ROLLBACK
(не обязательно представитель, но, надеюсь, достаточно, чтобы проиллюстрировать этот вопрос)
Возможно Рубин на Rails является хорошим справочным здесь, обеспечивая краткую и раскрашивают вывод реальных запросов к базе данных:
(via https://code.google.com/p/pylonsquerybar/#What_Others_Have_Done)
Есть ли простой способ получить аналогичный вывод для SQLAlchemy? (. Вышеупомянутый Пилоны Query Bar не кажется, предназначен для рамочного агностик повторного использования)
Я боюсь, что это на самом деле не касается основной проблемы форматирования фактических SQL-запросов, устранения шума и упрощения понимания структуры. – AnC
Что такое «шум»?
2015-10-02 13: 51: 39 503 INFO sqlalchemy.engine.base.Engine ROLLBACK
2015-10-02 13: 51: 39,500 INFO sqlalchemy.engine.base.Engine BEGIN (неявный)? – kain64b
Да; почти все, что не является фактическим SQL-запросом. В идеале этот запрос также должен отображаться точно так же, как он отправляется в базу данных. – AnC