无法在其他环境中加载固定装置

Can't load fixtures in other environment

在我的 composer.json 中,我按照文档中的建议在 require-dev 中添加了 doctrine-fixtures-bundle

"require-dev": {
    "doctrine/doctrine-fixtures-bundle": "^3.3",
    ...
},

我创建了一个新的 symfony benchmark 环境,但是我无法访问 fixtures :

$ APP_ENV=benchmark php bin/console doctrine:fixtures:load

You may be looking for a command provided by the "DoctrineFixturesBundle" which is currently not installed. Try running "composer require doctrine/doctrine-fixtures-bundle --dev"

设备在开发中可用。 如何使其在基准环境中也可访问?

我不认为将 require 中的固定装置添加到 composer.json 是个好主意:它不安全。

那么您不应该将此库定义为 dev 依赖项。将其从 require-dev 移至 require 部分并使用 Composer 重新安装 vendors。

它是 "not safe",因为您可能会在生产中加载固定装置并擦除您的数据库。如果你害怕这样做,你可以只为 benchmark 环境加载这个包,例如:

// config/bundles.php
Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle::class => ['dev' => true, 'benchmark' => true],