Как писать параметризованные SQL запросы в тестах?

Middle
331 просмотров
AFK Offer AI

Параметризованные запросы — защита от SQL injection и переиспользование. Python psycopg2: cursor.execute("SELECT * FROM users WHERE email = %s", (email,)). Никогда: f-string или конкатенация в SQL! SQLAlchemy: session.execute(text("SELECT * FROM users WHERE id = :id"), {"id": user_id}). Pytest fixture с parametrize + параметризованный SQL запрос — тестируем разные сценарии. В тестах: всегда используем placeholders, не форматируем строки вручную — это и безопаснее, и правильнее.

Следующий вопрос

Как анализировать логи для расследования багов?