appzap/migrator

一个用于 SQL 迁移的 TYPO3 扩展

安装次数: 471

依赖者: 0

建议者: 0

安全性: 0

星星: 9

关注者: 3

分支: 4

开放性问题: 0

类型:typo3-cms-extension

1.2.0 2015-04-29 15:33 UTC

This package is auto-updated.

Last update: 2024-08-29 03:41:54 UTC


README

一个用于 SQL 迁移的 TYPO3 扩展

如今,TYPO3 项目大多是使用 git 开发和部署的。此扩展可以帮助您在这个环境中处理 SQL 变更。在所有开发实例上应用 SQL 变更,甚至将变更部署到您的实时系统。

它做什么

迁移器会执行您放置在特定目录中的编号 SQL 文件(例如 001.sql002.sql 等)。一旦调用迁移器,它会检查新的 .sql 文件并按正确顺序执行它们。

因此,如果您想在您的安装中分发 SQL 命令(例如,新记录的 INSERT 语句),只需创建一个比现有文件编号更高的文件并将其推送到您的存储库。其他人拉取并执行迁移器后,他们将应用您的更改!

设置

  • 确保存在后端用户 _cli_lowlevel。它不需要任何权限。
  • 创建一个文件夹,您想在其中放置 SQL 文件。如果它在您的网站根目录中,请使用以下内容的 .htaccess 文件保护它:deny from all
  • 使用扩展管理器安装此扩展。
  • 在扩展管理器中进行配置。
  • SQL 文件文件夹的路径:相对路径到您刚刚创建的文件夹。
  • mysql 二进制文件路径:根据您的机器上的 mysql 二进制文件进行调整。

调用

迁移器可以通过两种方式调用

命令行

$php cli_dispatch.phpsh extbase migration:migratesqlfiles

调度任务

创建一个类为“Extbase Command Controller Task”的调度任务,并将“Migrator Migration: migrateSqlFiles”作为命令。您可以通过 cronjob 定期调用任务,或者在需要时手动调用。

故障排除

如果 SQL 文件的执行失败,则最后执行的文件的计数器不会增加,该文件将在下一次运行时再次执行。请注意,它可能在崩溃之前已经对您的数据库进行了更改。

如果您想查看/更改最后执行的 SQL 文件的内部指针,您可以在 sys_registry 表中找到它,其命名空间和键为 AppZap\Migrator / lastExecutedVersion

我可以省略迁移编号吗?

是的,在 003.sql 之后,下一个文件可以是 005.sql。请注意,一旦 005.sql 执行,然后添加 004.sql,则 004.sql 将永远不会执行。

我可以使用时间戳作为迁移编号吗?

是的。

我可以从 0 开始吗?

不,目前第一个文件必须是 001.sql 或更高。

我需要前导零吗?

不,您也可以使用 1.sql 等。

我可以撤销迁移吗?

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