Официально ли TYPO3 поддерживает строгие режимы MySQL / Maria DB (например, strict_trans_tables, innodb_strict_mode) и т. Д. - PullRequest
0 голосов
/ 02 марта 2020

Поскольку значения MariaDB 10.2.4 по умолчанию:

sql_mode = STRICT_TRANS_TABLES

и

innodb_strict_mode = ON 

Системные требования для https://get.typo3.org и в Руководстве по установке прямо не упоминаются это, но я знаю, что ограничение не поддерживать строгий режим было удалено из readme довольно давно go. Я не уверен насчет innodb_strict_mode.

Есть что-нибудь еще, чтобы рассмотреть? А как насчет сторонних расширений?


Ресурсы:


Поскольку настройки MariaDB 10.2.4 по умолчанию:

sql_mode = STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

https://mariadb.com/kb/en/sql-mode/

Когда это руководство относится к «строгому режиму», оно означает режим с включенным либо STRICT_TRANS_TABLES, либо STRICT_ALL_TABLES, либо с обоими.

https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html

Начиная с MariaDB 10.2.2

innodb_strict_mode = ON

Строгий режим InnoDB аналогичен SQL строгому режиму. Когда он включен, некоторые предупреждения InnoDB становятся ошибками.

https://mariadb.com/kb/en/innodb-strict-mode/

1 Ответ

1 голос
/ 03 марта 2020

Это не полный ответ, но слишком длинный для комментария.

Было много стороннего EXT, теряющего слух. Это часто можно сделать, если вы устанавливаете расширение заново, но обновление старой установки до STRICT db приводит, например, к тому, что только некоторые представления / подстраницы выдают исключения, в то время как кажется, что остальная часть системы работает. Вы можете обнаружить проблемное расширение c из-за проблем с определением определения SQL (например, неправильные значения по умолчанию), но это не гарантия. Однако иногда указанные c запросы вызывают проблемы, как указано выше. Однако в большинстве случаев это просто хакерство SQL или использование неявных приведений типов (особенно полей даты).

Проверка расширения, будет ли работать его файл sql и если он использует Doctrine, Хороший показатель ИМХО. Но даже в остальном ничего не может найти набор приемочных регрессионных тестов, но некоторые ошибки были такими, что PITA мы снова отключили режим STRICT.

Тем не менее: нет причин, чтобы не все расширения допускали строгий режим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...