Skip to content

v3.6: feat: SessionTimeZoneMiddleware pro nastavení časové zóny spojení

Choose a tag to compare

@thorewi thorewi released this 05 Oct 11:25
· 2 commits to master since this release
Přesunuto z adt/fancyadmin (ADT\FancyAdmin\Model\Doctrine\SessionTimeZoneMiddleware),
protože jde o čistě DBAL věc a doctrine-components používají všechny projekty -
i ty bez fancyadminu.

Oproti fancyadminu umí i MySQL: platforma se pozná podle nativního spojení
(PDO, mysqli, PgSql) a pošle se `SET TIME ZONE` resp. `SET time_zone =`.
Hodnota zóny se escapuje přes quote() spojení. Na jiné platformě vyhodí
LogicException místo nesmyslného SQL.

Ověřeno proti PostgreSQL 17 (letní i zimní offset) a MySQL 8.0 (pdo_mysql
i mysqli).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>