portrino / px_dbsequencer
使用此扩展,您可以为配置的表确保不同的唯一键(例如:页面、tt_content)
Requires
- typo3/cms-backend: ^12.4
Requires (Dev)
- ergebnis/composer-normalize: ^2.28
- friendsofphp/php-cs-fixer: ^3.14
- friendsoftypo3/phpstan-typo3: ^0.9
- helmich/typo3-typoscript-lint: ^3.1
- php-coveralls/php-coveralls: ^2.5
- phpstan/phpstan: ^1.10
- phpstan/phpstan-deprecation-rules: ^1.1
- phpstan/phpstan-strict-rules: ^1.5
- seld/jsonlint: ^1.9
- typo3/coding-standards: ^0.6
Suggests
Replaces
- typo3-ter/px-dbsequencer: 0.12.0
This package is auto-updated.
Last update: 2024-09-17 13:57:21 UTC
README
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 作者
- 查看参与此项目的贡献者列表。