自定义捆绑迁移在首次安装时失败,因为它们在 OroCommerce 的安装程序之前运行

Posted

技术标签:

【中文标题】自定义捆绑迁移在首次安装时失败,因为它们在 OroCommerce 的安装程序之前运行【英文标题】:Custom bundle migrations fail at first install because they run before OroCommerce's installers 【发布时间】:2021-09-30 14:27:52 【问题描述】:

我创建了一个自定义捆绑包,其中有一些迁移,其中一个向Product 实体添加了一个字段,使oro_product 表成为此迁移运行的依赖项。

问题是,当我运行 oro:install 命令时,它会运行迁移,但一开始就失败了,因为它运行了我的自定义捆绑包的迁移first,这不起作用,因为oro_product 表此时不存在。

有没有办法控制迁移的执行顺序,或者还有什么办法可以避免这个问题?

谢谢!

【问题讨论】:

【参考方案1】:

要稍后加载架构迁移,您可以在<BundleDirectory>/Resources/config/oro/bundles.yml 文件中设置更高的捆绑优先级。例如:

bundles:
    -  name: Acme\Bundle\DemoBundle\AcmeDemoBundle, priority: 1000 

【讨论】:

以上是关于自定义捆绑迁移在首次安装时失败,因为它们在 OroCommerce 的安装程序之前运行的主要内容,如果未能解决你的问题,请参考以下文章

应用内购买仅在首次应用启动时失败

CKEDITOR 在首次提交时不通过 ajax 提交数据

Angular Material Stepper 在首次加载时未定义

MSI安装被自定义操作DLL中断

首次运行时将照片保存在自定义相册中失败

MSI 安装被自定义操作 DLL 中断