spryker/code-migrator

代码更新包

dev-master / 1.0.x-dev 2021-05-04 09:56 UTC

README

安装

您需要将 spryker/code-migrator 克隆到 vendor/spryker/code-migrator

git clone git@github.com:spryker/code-migrator.git

之后,您需要运行以下命令来安装所有依赖项

composer install

您可以通过运行 vendor/bin/codecept run 来测试它

文档

要运行更新器,请转到您项目的根目录并执行

php vendor/spryker/code-migrator/src/index.php spryker:migrate -h

-h 选项将显示如何配置和使用此命令。

重要选项包括

  • -d 以干燥模式运行
  • -p=[PROJECT_NAMESPACE] 更改项目命名空间
  • -n 非交互模式
  • -c 在核心包上运行迁移

要查看将发生什么更改,请执行

php vendor/spryker/code-migrator/src/index.php spryker:migrate -d -n

这将以干燥和非交互模式运行命令,并将打印出将要执行的操作。

在具有不同项目命名空间的项目的上运行

php vendor/spryker/code-migrator/src/index.php spryker:migrate -d -n -p CatFace

这将使用 "CatFace" 作为您的项目命名空间。

最后运行

php vendor/spryker/code-migrator/src/index.php spryker:migrate

完成手动步骤后,您应该能够运行测试、设置安装并在商店购买商品。

请确保每件事都通过 QA 测试!

目前无法修复或无法找到的已知问题

Propel\Runtime\Exception\RuntimeException - No connection defined for database "zed". Did you forget to define a connection or is it wrong written?

您需要将 new PropelServiceProvider(), 添加到 ApplicationDependencyProvider::getServiceProvider() 中,因为它在类的这个位置使用,因此没有显示为缺失。

Twig_Error_Syntax - Unknown "formatDateTime" filter.

您需要将 new DateTimeFormatterServiceProvider(), 添加到 ApplicationDependencyProvider::getServiceProvider() 中,因为它在类的这个位置使用,因此没有显示为缺失。

任何与 Twig 相关的异常

您需要将 new GuiTwigExtensionServiceProvider(), 添加到 ApplicationDependencyProvider::getServiceProvider() 中,因为它在类的这个位置使用,因此没有显示为缺失。

在 Zed 端的翻译需要比从 Messenger 包提供的另一个插件。如果您项目中没有 MessengerDependencyProvider,请添加一个并覆盖 addTranslationPlugin(),并使用 Spryker\Zed\Glossary\Communication\Plugin\TranslationPlugin

用户包需要从 Acl 包注入 GroupPlugin。您需要创建一个 UserDependencyProvider 并覆盖 addGroupPlugin() 方法,然后返回 Acl 的 GroupPlugin 而不是 User 的。

购物车包需要从 ProductBundle 包注入 ItemCountPlugin。您需要创建一个 CartDependencyProvider (Client) 并覆盖 addItemCountPlugin() 方法,然后返回 ProductBundles 的 ItemCountPlugin 而不是 Cart 的。