portrino/px_dbsequencer

使用此扩展,您可以为配置的表确保不同的唯一键(例如:页面、tt_content)

安装次数: 1,377

依赖项: 0

建议者: 1

安全: 0

星星: 1

关注者: 7

分支: 1

开放问题: 0

类型:typo3-cms-extension

0.12.0 2023-11-27 09:30 UTC

README

Latest Stable Version TYPO3 12 Total Downloads Monthly Downloads CI

TYPO3 数据库序列生成器

1 功能

PxDbsequencer 扩展允许为配置的表定义不同的唯一键(例如:页面、pages_language_overlay、tt_content)。

这意味着,您可以定义一个全局标识符,例如按环境划分,配置表中的每个标识符/主键将以定义的偏移量(默认:10)进行序列化。

因此,如果您为生产系统配置全局标识符 "1",则每个配置的表将具有类似 1、11、21、31 等的标识符/主键。对于您的测试系统,您可以将全局标识符定义为 "2",这将导致表标识符为 2、12、22、32 等等。

此外,项目的每个开发人员也可以有自己的全局标识符。因此,在系统之间迁移数据(例如,新功能中的页面和内容元素)的风险将降至最低。

2 使用方法

2.1 安装

使用 Composer 安装

**推荐**的安装方式是使用 composer

在您的基于 Composer 的 TYPO3 项目中运行以下命令

composer require portrino/px_dbsequencer

从 TYPO3 扩展存储库(TER)安装扩展

使用扩展管理模块下载并安装 扩展

2.2 设置

安装完成后,转到扩展设置,设置系统标识符、偏移量以及您想要序列化的表。

扩展设置(如系统标识符)也可以根据当前的 TYPO3_CONTEXT 通过 typo3conf/AdditionalConfiguration.php(或 config/system/additional.php)进行配置。

因此,在 typo3conf/LocalConfiguration.php(或 config/system/settings.php)中的可能配置如下

return [

    ...
    
    'EXTENSIONS' => [
    
        ...
        
        'px_dbsequencer' => [
            'offset' => 10,
            'system' => 1,
            'tables' => 'be_groups,be_users,pages,sys_category,sys_template,tt_content',
        ],
        
        ...
        
    ],
    
    ...
    
];

和在 typo3conf/AdditionalConfiguration.php(或 config/system/additional.php)中的可能配置如下

// contextual environment settings
$applicationContext = \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(
    '/',
    \TYPO3\CMS\Core\Core\Environment::getContext(),
    true
);

switch ($applicationContext[0]) {
    case 'Development':
        switch ($applicationContext[1]) {
            case 'Staging':
                // TYPO3_CONTEXT: Development/Staging
                $GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['px_dbsequencer']['system'] = 2;
                break;
            case 'Local':
                // TYPO3_CONTEXT: Development/Local
                $GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['px_dbsequencer']['system'] = 3;
                break;
        }
        break;
    case 'Production':
        $GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['px_dbsequencer']['system'] = 1;
        break;
}

3 兼容性

4 作者