symfony console make:迁移和--env选项不起作用

mfuanj7w  于 2023-10-24  发布在  其他
关注(0)|答案(1)|浏览(126)

我正在使用TDD开发我的第一个symfony(6.3)项目。我已经创建了一些doctrine ORM实体并不时添加字段。对于第一个集成测试,我运行了**“symfony console make:migration”,没有-env=“test”,但就像我第一次运行它一样,它很好,sqlite数据库和所有表都创建好了。
当我用
--env=“test”**第二次运行它时,命令返回:

There are no commands defined in the "make" namespace.                                                                                                       
                                                                                                                                                           
You may be looking for a command provided by the "MakerBundle" which is currently not installed. Try running "composer require symfony/maker-bundle --dev".

我用“symfony new --webapp --version=6.3 my_project”创建了这个项目,因此makerbundle位于require-dev部分。
我是一个新手,所以我错过了一些明显的东西。
多谢了!

ua4mk5z4

ua4mk5z41#

您能详细说明为什么要为您的测试环境创建数据库模式吗?您的数据库模式不应因环境而异(dev/prod/test),但是您的数据库连接**可以。由于MakerBundle位于require-dev部分,它应该只能在dev环境中运行/可用。(test环境中不存在MakerBundle),这是主要原因。您也可以在/config/bundles.php中确认这一点,其中存在以下代码:

Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true],

'dev' => true部分确认MakerBundle仅在dev环境中可用。
TLDR;您应该只通过运行symfony console make:migrationdev环境中进行迁移(不需要添加--env=test)。

相关问题