【问题标题】:Column UID missing in custom TYPO3 v10 extension自定义 TYPO3 v10 扩展中缺少列 UID
【发布时间】:2020-09-02 14:21:16
【问题描述】:

在将我的 TYPO3 项目从 v7 更新到 v10 时,我在自定义扩展方面遇到了一些困难。 因此,我只是尝试从官方 TYPO3 网站重建演示扩展:https://docs.typo3.org/m/typo3/book-extbasefluid/10.4/en-us/4-FirstExtension/2-create-folder-structure-and-configuration-files.html,看看这些年来发生了什么变化。 我按照网站上的说明进行操作。

成功激活扩展后,我浏览到列表视图,但出现以下错误:

“字段列表”中的未知列“uid” link to error message

我检查了我的数据库,确实缺少“uid”列,“pid”列存在。

这是我的 ext_tables.sql:

    uid int(11) unsigned DEFAULT '0' NOT NULL auto_increment,
    pid int(11) DEFAULT '0' NOT NULL,

    name varchar(255) DEFAULT '' NOT NULL,
    description text NOT NULL,
    quantity int(11) DEFAULT '0' NOT NULL,

    PRIMARY KEY (uid),
    KEY parent (pid)
);

第二次尝试时,我从 https://github.com/TYPO3-Documentation-Examples/store_inventory 复制了整个项目,但仍然遇到同样的错误。

你知道我必须改变什么,才能不再收到那个错误吗?

【问题讨论】:

标签: mysql sql typo3 typo3-10.x


【解决方案1】:

我记得有类似的问题,但不记得是什么原因。

当我遇到问题时,typo3conf/ext 中可能有相同扩展名(相同扩展名)的其他副本。这可能会导致问题(即使未启用这些扩展)。

除此之外,会不会是简单的缓存问题或数据库比较问题?

你应该没问题,如果你创建了扩展然后激活它。但如果进行了更改,您可能必须清除系统缓存。在任何情况下,TCA 都会被缓存,因此如果您在那里进行更改,系统缓存应该会被清除。

如果您直接使用https://github.com/TYPO3-Documentation-Examples/store_inventory,则该扩展适用于 8.7,并且尚未更新。我目前不能保证它会在 10 天内有效。

【讨论】:

    【解决方案2】:

    删除数据库表并重新创建它后,它就可以工作了。

    【讨论】:

    • 重置数据库表是什么意思。
    猜你喜欢
    • 1970-01-01
    • 2014-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多