0

我正在尝试设置一个数据库环境来测试我的 Doctrine ORM 实体类,而不更改我的真实数据库。

我遵循了Symfony 的文档,但是当我运行时,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文件,但我得到了同样的警告。

有没有办法告诉学说DATABASE_URL.env.test文件中获取价值?任何帮助将不胜感激。

PS 不需要多个测试 .env 文件。

4

3 回答 3

4

如果你使用php bin/console doctrine:fixtures:load --env=test你只会影响你的测试数据库。

于 2020-07-11T18:35:42.953 回答
1

当您要加载配置时,请确保它是在 .env.local 中定义的,或者如果您使用的是自定义环境,例如test--env=test参数添加到命令中

  php bin/console doctrine:fixtures:load --env=test
  php bin/console server:run --env=test
于 2020-07-11T18:25:26.760 回答
0

学说测试包括运行迁移,以便在每次测试运行时在数据库中拥有相同的数据。

从您发布的页面...

每次测试前自动重置数据库¶

这将导致消息Careful, database ... will be purged.这是警告,而不是错误。

于 2020-07-11T18:22:45.217 回答