我正在使用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部分。
我是一个新手,所以我错过了一些明显的东西。
多谢了!
1条答案
按热度按时间ua4mk5z41#
您能详细说明为什么要为您的测试环境创建数据库模式吗?您的数据库模式不应因环境而异(
dev
/prod
/test
),但是您的数据库连接**可以。由于MakerBundle
位于require-dev
部分,它应该只能在dev
环境中运行/可用。(test
环境中不存在MakerBundle
),这是主要原因。您也可以在/config/bundles.php
中确认这一点,其中存在以下代码:'dev' => true
部分确认MakerBundle
仅在dev
环境中可用。TLDR;您应该只通过运行
symfony console make:migration
在dev
环境中进行迁移(不需要添加--env=test)。