это лишь pythonic way писать sql запросы и система менеджмента миграций через alembic.
Насколько это нормальное поведение, стоит ли внедрять больше ORM?
Но в таком случае будет очень трудно отделить код взаимодействия с базой данных от основной бизнес логики, или даже логики контроллеров.
Бизнес логике без разницы как у тебя адаптер к бд написан
Насколько вижу, прошаренных иногда отказываются от ORM части и используют sqlachemy-core просто в качестве билдера запросов, так-что норм. Проблем в отделении бизнес-сущностей отт таблиц в БД при более активном применении ORM не вижу
Ура, как потом тестить, если прям к бизнесу сессию передавать Мне хочется иметь возможность контролировать какие запросы, куда и сколько оно отправлять может в принципе
Не нужно в бизнес-логику сессию тащить, прячь её в адаптерах (репозиториях)
> как потом тестить, если прям к бизнесу сессию передавать Как обычно тестить. А ты без базы тестируешь что ли?
Прикладной слой да, без базы 🤔
Тестирую я запросы к базе по отдельности Чтоб каждый сделанный запрос делал то, что изначально было задуманно И только потом, к сожалению часто в ручную, бизнес логику с базой и всяким
А коммит делаешь в бизнес-логике юзкейсе?
Есть куча всяких кейсов, которые можно поймать только в базой. Мне кажется, что тестировать надо только сложные методы репозитория, а всё остальное лучше тестировать вместе с бизнес логикой
Да, но также через адаптер
Тыкни плиз, где ты тут транзакцию начинаешь?
На этапе обработки команды тут автоматически начинается
Обсуждают сегодня