TYPO3自定义内容字段上保存数据库错误

问题描述

添加了一些内容字段,如下所示;

$temporaryColumnHC = array(
    'my_type' => array(
        'exclude' => 0,'label'   => 'My Type','config' => array(
            'type' => 'select','renderType' => 'selectSingle','items' => array(
                array('Bar','bar'),array('Pie','pie'),array('Donut','donut'),array('Line','line'),array('Bar 2','bar2'),array('Bar 3','bar3'),array('Bubble','bubble'),)
        )
    ),'my_suffix' => array(
        'exclude' => 0,'label'   => 'My Label Suffix','config' => array(
            'type' => 'input','size' => 10,'max' => 20
        )
    ),'my_source_url' => array(
        'exclude' => 0,'label'   => 'Source URL','renderType' => 'inputLink'
        )
    ),'my_source' => array(
        'exclude' => 0,'label'   => 'Source Text','config' => array(
            'type' => 'text','cols' => 40,'rows' => 15
        )
    ),);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns(
    'tt_content',$temporaryColumnHC
);

但保存时出现以下错误

error  [1620]: UnkNown column 'suffix' in 'field list'

该字段保存在数据库中的操作

解决方法

正如已经提到的那样,TYPO3抱怨数据库中缺少该列。 您的扩展名应提供一个ext_tables.sql来扩展数据库架构。有关更多信息,请参见https://docs.typo3.org/m/typo3/reference-coreapi/10.4/en-us/ExtensionArchitecture/FilesAndLocations/Index.html#ext-tables-sql

文件始终包含CREATE TABLE条语句,这些语句将由TYPO3转换并更新架构。 可以通过TYPO3的安装工具或通过命令行的TYPO3控制台之类的工具来更新架构。