Junior — Middle
69
Использовал ли ты механизмы транзакций в SQLAlchemy для управления базой данных?
Ответ от нейросети
sobes.tech AI
В SQLAlchemy транзакции используются для обеспечения атомарности операций с базой данных. Обычно транзакция начинается автоматически при открытии сессии и завершается вызовом commit() или rollback().
Пример использования транзакции:
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
engine = create_engine('sqlite:///example.db')
Session = sessionmaker(bind=engine)
session = Session()
try:
# Добавляем новый объект
new_user = User(name='Alice')
session.add(new_user)
session.commit() # Подтверждаем изменения
except:
session.rollback() # Откатываем изменения при ошибке
raise
finally:
session.close()
Такой подход гарантирует, что либо все изменения будут сохранены, либо при ошибке база останется в прежнем состоянии.