portrino/px_dbmigrator

TYPO3 数据库迁移工具

安装: 341

依赖者: 0

建议者: 1

安全性: 0

星标: 1

关注者: 7

分支: 4

类型:typo3-cms-extension

2.0.3 2024-08-21 08:13 UTC

This package is auto-updated.

Last update: 2024-09-17 15:42:31 UTC


README

Latest Stable Version TYPO3 10 TYPO3 11 TYPO3 12 Total Downloads Monthly Downloads

TYPO3 数据库迁移工具

1 功能

今天,TYPO3 项目大多数是通过 git 开发和部署的。PxDbmigrator 扩展可以帮助您在这个环境中处理 SQL 变更。在所有开发实例上应用 SQL 变更,甚至可以将变更部署到您的生产或测试环境中。

1.1 它能做什么

PxDbmigrator 扩展提供了一个命令,用于执行您放置在可配置目录中的迁移文件(例如 *.sql 文件或 *.sh 或 *.typo3cms 文件)。一旦调用该命令,它会检查新的迁移文件,并按给定顺序“执行”它们。

因此,如果您想在您的安装中分发一个 SQL 命令(例如,为新的记录创建一个 INSERT/REPLACE 语句),只需创建一个具有唯一名称的文件并将其推送到您的仓库。一旦其他人拉取并执行 PxDbmigrator 命令,他们就会应用您的更改!

建议使用 composer 的 pre-或 post-脚本来自动化命令的执行。

2 使用方法

2.1 安装

使用 Composer 安装

推荐使用 composer 安装此扩展。

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

composer require portrino/px_dbmigrator

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

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

2.2 设置

完成安装后,转到扩展设置并调整给定的设置以符合您的需求。

因此,在 composer 管理的 TYPO3 安装的 LocalConfiguration.php 中的一个可能的配置可能如下所示

return [

    ...
    
    'EXTENSIONS' => [
    
        ...
        
        'px_dbmigrator' => [
            'migrationFolderPath' => '../migrations',
            'mysqlBinaryPath' => '/usr/bin/mysql',
            'typo3cmsBinaryPath' => '/vendor/bin/typo3',
        ],
        
        ...
        
    ],
    
    ...
    
];

2.3 调用

使用 TYPO3 CLI 调用命令以执行迁移

./vendor/bin/typo3 migration:migrateall

3 故障排除

如果迁移文件的执行失败,最后执行的文件的关联注册条目不会存储在数据库中,该文件将在下一次运行时再次执行。请注意,它可能已经在崩溃之前对您的数据库进行了更改!

如果您想查看最后执行的迁移,可以检查具有命名空间 PxDbmigrator 的数据库表 sys_registry

4 常见问题解答

我可以用时间戳作为迁移数字/文件名前缀吗?

当然可以。这确实是推荐的做法,因为文件名已经包含了创建日期,并且文件按名称正确排序。

我需要前导零吗?

不需要,您也可以使用 1.sql 等。但如上所述,推荐的方式是使用时间戳。例如:1696560849-adds-some-required-pages.sql

我可以撤销迁移吗?

不,迁移器只知道一个方向。您需要手动操作。

5 作者

  • 查看参与此项目的 贡献者 列表。