TYPO3扩展:在安装过程中创建数据库视图

时间:2016-08-06 13:12:25

标签: installation typo3 typo3-extensions database-view

在我的TYPO3扩展程序中,我使用外表。我创建了2个视图,以我的扩展需要的方式提供此表的数据。

问题是 - 如何在安装时创建这些视图?

在" ext_tables.sql "中定义的视图正在安装例程。

我已尝试使用文件" ext_tables_static + adt.sql "。此变体仅适用于INSERT语句。

我唯一能够工作的是使用信号槽调度程序描述here的变体(听起来很复杂但实际上并非如此!提供的文档非常好)。

但我无法相信没有本地方式(如ext_tables.sql)来解决此类问题。

1 个答案:

答案 0 :(得分:1)

我前段时间对这个问题进行了一些研究。当时没有其他办法可以实现你想要的东西,我怀疑在此期间有一个新的进化。

  • 我最后使用了你提到的钩子,并从我的扩展程序中读取并执行了所有Configuration/SQL/*.sql
  • 有一种方法可以在运行时修改SQL模式,但它仅限于通常的CREATE TABLE(伪)语句。请使用信号TYPO3\CMS\Install\Service\SqlExpectedSchemaService - tablesDefinitionIsBeingBuilt。它在TYPO3\CMS\Core\Category\CategoryRegistry::addCategoryDatabaseSchemaToTablesDefinition
  • 中的TYPO3 core中使用
  • 也许TYPO3切换到doctrine/dbal会改变这种情况。正如您所能see,正在进行迁移......

请注意,没有办法教会安装工具的数据库分析器您的视图,因此它会一直在唠叨您删除它们。

相关问题