kekos/doctrine-console-factory

帮助您将 Doctrine ORM 和迁移控制台命令添加到自己的 Symfony 控制台应用程序中

v2.0.0 2024-04-15 19:24 UTC

This package is auto-updated.

Last update: 2024-09-15 20:25:43 UTC


README

帮助您将 Doctrine ORM 和迁移控制台命令添加到自己的 Symfony 控制台应用程序。

安装

您可以通过 Composer 安装此包

composer require kekos/doctrine-console-factory

文档

配置

如果您已安装 Doctrine 迁移包,则需要向 DoctrineCommandFactory 提供一个 ConfigurationLoader。此包提供了一个 MigrationsConfigurationLoader,它消除了您根目录中的 cli-config.php 文件,并可以在您的依赖注入容器中轻松创建。

<?php
// Pseudo container
$container->set('doctrine.migrations', [
    'migrations_paths' => [
        'App\\Migrations' => __DIR__ . '/src/Migrations',
    ],
]);

$container->set(
    Doctrine\Migrations\Configuration\Migration\ConfigurationLoader::class,
    function($container) {
        $settings = $container->get('doctrine.migrations');

        return new Kekos\DoctrineConsoleFactory\MigrationsConfigurationLoader($settings);
    }
);

用法

创建一个 DoctrineCommandFactory 实例并调用 addCommands(),可用的 Doctrine ORM 或迁移命令将被添加到您的 Symfony 控制台应用程序中。

<?php
$console_app = new Symfony\Component\Console\Application('App', '1.0.0');

// Please let your DI container create the command factory instead!
$doctrine_command_factory = new Kekos\DoctrineConsoleFactory\DoctrineCommandFactory(
    $entity_manager,
    $configuration_loader
);
$doctrine_command_factory->addCommands($console_app);

$console_app->run();

错误和改进

在 GitHub 问题中报告错误,或者随时提交拉取请求 :-)

许可证

MIT