代码之家  ›  专栏  ›  技术社区  ›  Thomas Landauer dbNine

symfony 4:防止条令夹具加载到开发环境中

  •  0
  • Thomas Landauer dbNine  · 技术社区  · 6 年前

    如果要阻止加载数据库设备 意外地 在错误的环境中,最好的方法是激活 DoctrineFixturesBundle 仅在特定环境中。

    直到symfony 3.4这是在 app/AppKernel.php ,如所述 https://symfony.com/doc/3.4/best_practices/business-logic.html#data-fixtures

    如何在symfony 4(symfony flex)中实现这一点,捆绑包将自动加载?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Thomas Landauer dbNine    6 年前

    在symfony 4中,可以在 config/bundles.php ,通过编辑行

    Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle::class => ['dev' => true, 'test' => true],
    

    参见 https://symfony.com/doc/4.1/best_practices/business-logic.html#data-fixtures

    当你移除 'dev' => true, 部件,然后通过运行 php bin/console doctrine:fixtures:load --env=dev ,您将得到:

    运行命令“'district:fixtures:load'--env=dev”时引发错误。消息:“在”district:fixtures“名称空间中没有定义任何命令。

    但是,在测试环境中加载它们仍然有效: php bin/console doctrine:fixtures:load --env=test