itx/doctrine-migrations

TYPO3 扩展,用于版本化迁移文件,集成 doctrine/migrations

安装: 13

依赖者: 0

建议者: 0

安全: 0

星星: 0

关注者: 2

分支: 0

类型:typo3-cms-extension

1.0.1 2024-09-27 12:18 UTC

This package is auto-updated.

Last update: 2024-09-27 12:20:17 UTC


README

此扩展提供了一个 CLI,用于在 TYPO3 中管理数据库迁移的 doctrine 迁移。迁移由版本化文件定义,可以通过 CLI 创建和执行。

安装(Composer)

  • 通过执行 composer req itx/doctrine-migrations:<version> 添加扩展
  • 在您的扩展文件夹中创建一个文件夹,例如 Classes/Migrations
  • 在 TYPO3 后端中,在 设置 > 扩展配置 > doctrine_migrations 中添加您想要保存版本文件的路径和相应的命名空间
  • 或者您可以在 additional.php 文件中配置这些路径,例如。
$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['doctrine_migrations']['migrationFilesLocation'] = 'EXT:your_extension/Migrations';
$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['doctrine_migrations']['migrationsFilesNamespace'] = 'YourExtension\Migrations';

您可以选择在 additional.php 文件中提供一个数组来覆盖默认的 doctrine 迁移配置,例如:

$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['doctrine_migrations']['overrideConfiguration'] = [
	'table_storage' => [
			'table_name' => 'different_table_name_xyz',
	],
];

使用方法

  • 该扩展通过 CLI 控制
  • 您可以使用命令 vendor/bin/typo3 migrations:<command> <option>

教程

创建版本文件

  • 要生成所选位置的版本文件,请使用 vendor/bin/typo3 migrations:generate
  • 创建的文件名为 Version{date},{date} 为其创建时间,格式为 YmdHis
  • 该文件包含三个预生成的空函数:getDescription()up()down()
  • 将您需要的 SQL 代码放入 up() 函数中,并将可以回滚迁移的代码放入 down() 函数中,如下所示:$this->addSql('<your sql goes here>');
  • 注意在 addSql() 函数中转义任何单引号

处理版本文件

  • vendor/bin/typo3 migrations:status 显示迁移的当前状态:当前使用哪个版本,哪个是上一个/下一个/最新版本等。
  • 一旦您准备了一个包含对数据库进行所需更改的迁移文件,您可以通过以下方式执行它:
    • vendor/bin/typo3 migrations:migrate 自动运行从当前状态到最新版本的所有版本文件
    • 或者 vendor/bin/typo3 migrations:execute "Path\To\Your\File" --up 仅运行所选版本文件的 up() 方法
  • 在上面的命令中使用 --down 而不是 --up 将执行版本文件的 down() 函数
  • 有关这些以及其他一些命令及其选项的更多信息,请参阅

更多信息