oxid-esales/eshop-doctrine-migration-wrapper

使用 doctrine 对 OXID eShop 数据库进行迁移

v1.0.1 2016-12-02 10:25 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:36:46 UTC


README

OXID eShop doctrine 迁移集成

当前组件允许执行针对活动 eShop 版本的 doctrine 迁移二进制文件,并且数据库配置来自 eShop 安装本身。在执行不同 eShop 版本的不同迁移脚本套件期间,应用以下不同的逻辑:

  • 社区版迁移 - 总是执行;
  • 专业版迁移 - 当 eShop 有专业版或企业版时执行;
  • 企业版迁移 - 当 eShop 有企业版时执行;
  • 特定项目迁移 - 总是执行;

请注意,迁移套件只有在能够找到至少一个迁移脚本时才会执行。

此组件依赖于 eshop-edition_facts 组件提供的信息,以确定当前 eShop 安装版本。该信息来自 ESHOP_EDITION 环境变量。

为了绕过上述描述的逻辑,并且仅执行特定的迁移脚本套件,环境变量 MIGRATION_SUITE 必须不为空!例如,要仅执行企业版迁移脚本套件,请使用以下命令:

MIGRATION_SUITE=EE ./vendor/bin/oe-eshop-facts oe-eshop-doctrine_migration

主脚本 oe-eshop-doctrine_migration 将所有提供的参数值传递给 doctrine 迁移工具 CLI。以下是一些基本示例:

  • ./vendor/bin/oe-eshop-facts oe-eshop-doctrine_migration - 列出所有可用命令;
  • ./vendor/bin/oe-eshop-facts oe-eshop-doctrine_migration migrations:execute - 执行迁移;
  • ./vendor/bin/oe-eshop-facts oe-eshop-doctrine_migration migrations:generate - 生成新的迁移;(建议与 MIGRATION_SUITE 环境变量一起使用,以确保只有一个迁移套件将包含新的迁移脚本)

有关 doctrine 迁移组件 及其 CLI 使用的更多信息,可以在其 文档页面 上找到。

OXID eShop doctrine 迁移集成相关事实

此组件通过 eshop-facts 提供了 eShop doctrine 迁移集成事实。有关如何使用 oe-eshop-doctrine_migration_facts 脚本与 oe-eshop-facts 一起使用的说明,可以在以下 README 中找到。

输出

在执行脚本后提供以下信息:

  • ESHOP_DOCTRINE_MIGRATION_WRAPPER_VENDOR_PATH - 当前脚本目录的完整路径;
  • ESHOP_DOCTRINE_MIGRATION_BIN_PATH - 第三方组件 doctrine-migrations 二进制文件的完整路径;
  • ESHOP_DOCTRINE_CONFIG_FILENAME - 用于迁移配置的文件名;
  • ESHOP_DOCTRINE_DB_CONFIG_FILENAME - 用于数据库迁移配置的文件名;

  • ESHOP_DOCTRINE_CE_MIGRATION_CONFIG_PATH - eShop CE 迁移配置文件的完整路径;
  • ESHOP_DOCTRINE_CE_MIGRATION_DATA_PATH - eShop CE 迁移文件目录的完整路径;
  • ESHOP_DOCTRINE_CE_MIGRATION_DB_CONFIG_PATH - eShop CE 数据库迁移配置文件的完整路径;
  • ESHOP_DOCTRINE_CE_HAS_MIGRATIONS - 如果 eShop CE 存在有效的迁移文件,则返回 "1";

  • ESHOP_DOCTRINE_PE_MIGRATION_CONFIG_PATH - eShop PE 迁移配置文件的完整路径;
  • ESHOP_DOCTRINE_PE_MIGRATION_DATA_PATH - eShop PE 迁移文件目录的完整路径;
  • ESHOP_DOCTRINE_PE_MIGRATION_DB_CONFIG_PATH - eShop PE数据库迁移配置文件的完整路径;
  • ESHOP_DOCTRINE_PE_HAS_MIGRATIONS - 如果eShop PE存在有效的迁移文件,则提供“1”;

  • ESHOP_DOCTRINE_EE_MIGRATION_CONFIG_PATH - eShop EE迁移配置文件的完整路径;
  • ESHOP_DOCTRINE_EE_MIGRATION_DATA_PATH - eShop EE迁移文件目录的完整路径;
  • ESHOP_DOCTRINE_EE_MIGRATION_DB_CONFIG_PATH - eShop EE数据库迁移配置文件的完整路径;
  • ESHOP_DOCTRINE_EE_HAS_MIGRATIONS - 如果eShop EE存在有效的迁移文件,则提供“1”;

  • ESHOP_DOCTRINE_PROJECT_MIGRATION_CONFIG_PATH - eShop项目迁移配置文件的完整路径;
  • ESHOP_DOCTRINE_PROJECT_MIGRATION_DATA_PATH - eShop项目迁移文件目录的完整路径;
  • ESHOP_DOCTRINE_PROJECT_MIGRATION_DB_CONFIG_PATH - eShop项目数据库迁移配置文件的完整路径;
  • ESHOP_DOCTRINE_PROJECT_HAS_MIGRATIONS - 如果eShop项目存在有效的迁移文件,则提供“1”;

请注意,可以通过提供环境变量来覆盖上述列表中的任何变量,例如,为了更改doctrine迁移二进制路径

ESHOP_DOCTRINE_MIGRATION_BIN_PATH=/usr/local/bin/doctrine-migration ./vendor/bin/oe-eshop-facts oe-eshop-doctrine_migration_facts

输入

以下环境变量被接受

  • VERBOSE - 启用详细模式,将所有事实打印到STDOUT
  • ESHOP_VERBOSE_DOCTRINE_MIGRATION_FACTS - 仅对当前脚本启用详细模式。