我又来求助啦
我正在开发几个 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'