0

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

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

ext_tables.sql ”中定义的视图由安装例程导入。

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

我唯一要做的就是使用信号槽调度程序在此处描述的变体(听起来很复杂,但实际上并非如此!提供的文档非常好)。

但我不敢相信没有本地方法(如ext_tables.sql)来解决这些问题。

4

1 回答 1

1

前段时间我对这个问题做了一些研究。那时没有其他方法可以实现您想要的,我怀疑在此期间是否已经发展出一种新方法。

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

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

于 2016-08-08T00:06:47.133 回答