aymdev / fregata-bundle
Symfony 扩展包,用于 Fregata 迁移框架。
Requires
- php: >=8.1
- aymdev/fregata: ^1.1.0
- doctrine/doctrine-bundle: ^2.4
- doctrine/orm: ^2.11
- symfony/asset: ^4.4||^5.0
- symfony/config: ^4.4||^5.0
- symfony/dependency-injection: ^4.4||^5.0
- symfony/form: ^4.4||^5.0
- symfony/framework-bundle: ^4.4||^5.0
- symfony/http-kernel: ^4.4||^5.0
- symfony/messenger: ^4.4||^5.0
- symfony/security-csrf: ^4.4||^5.0
- symfony/validator: ^4.4||^5.0
Requires (Dev)
- dama/doctrine-test-bundle: ^6.7
- dealerdirect/phpcodesniffer-composer-installer: ^0.7.2
- phpcompatibility/php-compatibility: ^9.3
- phpstan/extension-installer: ^1.1
- phpstan/phpstan: ^1.6
- phpstan/phpstan-phpunit: ^1.1
- phpstan/phpstan-strict-rules: ^1.2
- squizlabs/php_codesniffer: ^3.6
- symfony/browser-kit: ^5.4
- symfony/css-selector: ^5.4
- symfony/phpunit-bridge: ^4.4||^5.0
- symfony/twig-bundle: ^5.4
This package is auto-updated.
Last update: 2024-08-24 17:16:11 UTC
README
Symfony 扩展包,用于 Fregata 数据迁移框架。提供用户界面并通过 Messenger 组件异步执行迁移。
文档:
要求
此扩展包需要 PHP >= 8.1 和一个 Symfony 4.4 或 5 应用程序。请注意,因为它使用数据库,所以会安装 Doctrine 扩展包。
如果您不熟悉 Fregata 的功能,请确保阅读其 文档。
安装
使用 Composer 安装
composer require aymdev/fregata-bundle
Doctrine 实体
然后您需要为提供的实体创建数据库表(3 个实体 + 一个 ManyToMany 关系)。您可以根据自己的意愿这样做。
建议: 我首选的数据库迁移方法是使用 MakerBundle 的
make:migration
命令,然后是 Doctrine 的doctrine:migrations:migrate
命令。
Messenger 传输
由于该扩展包的主要工作发生在 Messenger 组件中,您需要将提供的 消息 路由到您选择的 传输。例如 config/packages/messenger.yaml
framework: messenger: transports: # You are entirely responsible for the transport configuration async: '%env(MESSENGER_TRANSPORT_DSN)%' routing: # Every message implements the following interface, nothing more is needed 'Fregata\FregataBundle\Messenger\FregataMessageInterface': async
用户界面
要启用用户界面,通过创建一个 config/routes/fregata.yaml 文件导入路由
fregata: resource: "@FregataBundle/Resources/config/routes.xml" prefix: /fregata
将
prefix
改为您想要的任何内容,或者如果您想将 Fregata 仪表板设置为应用程序的根目录,请将其删除。
然后您可以通过 /fregata
访问仪表板。
用户界面概述
主页面
仪表板列出当前的迁移运行,如果没有运行,则列出最后一个。迁移页面列出当前配置的迁移,以及链接到特定页面以快速查看组件列表和特定迁移的运行历史。完整的 运行历史 在单独的页面上。
运行列表
此处显示的表格用于用户界面的多个页面,并包含
- 迁移运行的 ID
- 迁移的名称,带有一个链接到 详情页面
- 状态 标签
- 时间统计:开始时间、结束时间和持续时间
- 组件数量
- 一个链接到 运行详情
运行详情
相同的信息可以在 运行详情 中找到: 迁移正在运行时,右上角将显示一个取消按钮。运行分为 3 个步骤,每个步骤都有选项卡
- 前置任务
- 迁移器
- 后置任务
每个选项卡都显示一个进度条及其关联的组件。迁移器根据其依赖关系从左到右排序。
启动迁移
您可以通过在菜单中点击 “新建运行” 按钮从用户界面启动迁移。或者,还有一个可用的控制台命令 fregata:migration:execute
。
php ./bin/console fregata:migration:execute
然后您应该在用户界面上看到运行。
如果您想在 Fregata 框架中运行迁移,而不使用 Messenger,可以添加 --synchronous
选项。
警告:这样做的话,迁移将在前台运行,不使用数据库,且无法在 UI 上显示。