python

SQLAlchemy - Engine Select

Пример 1 - прочитать из базы значение

команда состояние соединения последняя SQL комментарии
engine = create_engine(f'postgresql://...') нет соединения    
result = engine.execute("select name from host LIMIT 10") idle in transaction select name from host LIMIT 10 данные уже в result

SQLAlchemy - FAQ

Engine.connect() vs Engine.raw_connection()

первый возвращает класс sqlalchemy.engine.base.Connection, второй sqlalchemy.pool.base._ConnectionFairy. Оба являются прокси к настоящему соединению, у обоих close() просто возвращает соединение в пул, однако второе считается более близким к DBAPI. например только из второго можно получить курсор.

Python introspection

методы интроспекции

type(object)

возвращает объект type который показывает тип object, то же самое что и object.__class__

str(object)

вызывает object.__str()__, если __str__ нет, то возвращается repr(object). пишут что __str__ должна возвращать приятное для человека описание

repr(object)

пытается вернуть строчку, которая должна в eval() создавать этот объект, иначе возвращает в угловых скобках имя типа и адрес, вывод функции можно контролировать через __repr__

Tags:

SQLAlchemy - Соединения и транзакции с базой

Применение SQLAlchemy Core с точки зрения образования соединений и транзакций с базой.

Как сказано в документации, есть Engine, который скрывает за собой пул и диалект.

подход такой: нужно брать соединения, делать некий логически связанный блок действий, и вызывать conn.close(), которое возвращает соединение в пул.

соединение находится всегда в транзакции.

В процессе работы имеете действие с 

если использовать соединения для выборки данных и оставить его у себя

Subscribe to RSS - python
Яндекс.Метрика