如何在配置中添加从包到主应用程序的迁移路径

问题描述 投票:0回答:0

我又来求助啦

我正在开发几个 Symfony 6.2 应用程序,它们之间共享大量代码。所以,我把一堆放在捆绑上。到目前为止它正在运行,包括在主要应用程序上配置捆绑选项。

现在的问题是,其中一个包中将包含一些迁移。我知道我可以去我的

config/doctrine_migrations.yaml
并手动将新路径添加到:

doctrine_migrations:
  migrations_paths:
    'CustomBundleMigrations': '@CustomBundle/migrations'

我的问题是,有没有办法在我需要捆绑包时自动进行此操作?我尝试使用前置,但它被 doctrine_migrations 配置文件上的应用程序替换

这是我的 CustomBundle.php 文件。

<?php
namespace Vendor\CustomBundle;

use Vendor\CustomBundle\DependencyInjection\CustomExtension;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Extension\ExtensionInterface;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Symfony\Component\HttpKernel\Bundle\AbstractBundle;

class CustomBundle extends AbstractBundle
{
    public function getContainerExtension(): ?ExtensionInterface
    {
        if (null === $this->extension) {
            $this->extension = new CustomExtension();
        }

        return $this->extension;
    }

    public function prependExtension(
        ContainerConfigurator $container,
        ContainerBuilder $builder
    ): void {
        $container->import('../config/packages/doctrine_migrations.yaml');
    }
}

这就是

/config/packages/doctrine_migrations.yaml

doctrine_migrations:
  migrations_paths:
    'CustomBundleMigrations': '%kernel.project_dir%/migrations'
symfony doctrine symfony6 doctrine-migrations
© www.soinside.com 2019 - 2024. All rights reserved.