在这个changelog:https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/11.4/Important-94697-QuoteDatabaseIdentifiersWhenUsedInsteadOfGloballyUpfront.html?highlight=dbal中,它说,必须对TCA中的数据库字段进行格式化,以保持DBAL兼容。TypoScript中的数据库字段也需要格式化吗?例如,在EXT:cms-流体样式-内容中,TypoScript中的数据库字段是格式化的。
不兼容DBAL,支持哪个DBMS?
发布于 2022-07-17 05:09:32
TypoScript与此更改无关。
TypoScript选项被描述为这里,如果有变化,那么宣布就足够早地准备相关的更新。
将早期版本与当前版本的TypoScript进行比较,显示出的变化少得令人惊讶。
一般来说,这些DBMS是受支持的,关于TYPO3扩展,很可能有些并不能很好地处理所有选择的每个DBMS:
由于DBAL已成为TYPO3的基本部分,因此在没有DBAL的情况下无法访问任何数据库。必须在通用DBAL解决方案的基础上创建用于检索和操作数据库管理系统的扩展,因此它可以在扩展内服务,但不能用于整个TYPO3安装。TYPO3特定的功能,如在后端显示记录,在没有限制或付出很大努力的情况下是无法工作的。因此,一个非DBAL解决方案将永远是一个外部数据源,这不是什么不好的,存在于许多变体,但只是没有提供基本的系统。
数据库名称、表名和查询部件中的表字段的格式设置是DBAL的要求,如下所示:
'AND {#tt_content}.{#CType} IN (\'text\',\'textpic\',\'textmedia\') ORDER BY {#tt_content}.{#CType} ASC'代码片段摘自本站,这说明了需求有一点不同。
它使DBAL能够与代码进行任何必要的安全和兼容不同DBMS‘,因为解析SQL-代码有明确定义的部分,而不是猜测。部分原因可能是重组或替换部分(如join),也可以使用准备好的语句作为首选并在可能的情况下使用。
https://stackoverflow.com/questions/73007363
复制相似问题