【发布时间】:2020-11-01 06:53:01
【问题描述】:
我正在尝试设置一个数据库环境来测试我的 Doctrine ORM 实体类,而不更改我的真实数据库。
我关注了Symfony's documentation,但是当我运行php bin/console doctrine:fixtures:load 时,我收到了警告:
小心,数据库“图表”将被清除。你想继续吗? (是/否)[否]:
尽管我已经在我的.env.test 文件中设置了一个环境变量:
DATABASE_URL=mysql://testUser:testPassword@127.0.0.1/graph_test
编辑:这是整个.env.test 文件:
# define your env variables for the test env here
KERNEL_CLASS='App\Kernel'
APP_SECRET='$ecretf0rt3st'
SYMFONY_DEPRECATIONS_HELPER=999999
PANTHER_APP_ENV=panther
# Database test
DATABASE_URL=mysql://testUser:testPassword@127.0.0.1/graph_test
我尝试更改我的 test/bootstrap.php 文件,但收到相同的警告。
有没有办法告诉教义从.env.test 文件中获取DATABASE_URL 值?任何帮助将不胜感激。
PS 不需要多个测试 .env 文件。
【问题讨论】:
-
请提供您的 .env.test 文件(去掉凭据),也许您应该使用
.env.local?什么时候在本地调试? -
也许我将来会这样做,现在我只进行本地测试。
-
尝试将 .env.test 重命名为 .env.local 以确保它被使用。正如 symfony 文档指出的那样,如果您想使用自定义(在您的情况下为“测试”环境),则需要额外的步骤。默认使用
.env.local。 symfony.com/doc/current/… -
试试
php bin/console doctrine:fixtures:load --env=test -
如果您接受,我会将其作为答案发布。
标签: php symfony doctrine-orm phpunit phpdotenv