如何为 cli 和应用程序使用 DoctrineORMModule 不同的凭据?

How to use DoctrineORMModule different credentials for cli and application?

我将 DoctrineORMModule 与我的 ZendFramework/Laminas 应用程序一起使用。到目前为止一切正常,但我想在我的 MySQL 数据库中限制 db-user 的用户权限,并仅将 root-user 用于我的学说迁移。 在不将配置从我的应用程序复制到单独的 cli-config 的情况下,正确的方法是什么?有办法吗?

到目前为止,检查所有文档和示例对我没有帮助,因为在所有示例中,所有操作都使用具有完全权限的用户。 此外,我希望能够 运行 我的生产构建的 orm:ensure-production-settings 命令以确保生产设置正确。但这与 运行ning 迁移(启动时)的不同设置的需要相冲突。

希望有人能帮忙。

谢谢。

我建议对 CLI 和 WEB 模式进行不同的配置。

您可以通过在名为 eg 的 config/ 目录集合中添加另一个配置文件来快速实现它。 cli.config.php 并以此内容开头:

<?php
declare(strict_types=1);

use App\Application\Handler\Cli;

return PHP_SAPI !== 'cli' ? [] : [
    // your CLI only config.
];

如果此文件包含在标准配置文件之后,您可以在此处严格针对 CLI 模式覆盖条令配置。