Symfony 4 学说,在执行 doctrine:migrations:migrate 时自动创建一些条目

Symfony 4 doctrine, create automatically some entries when the doctrine:migrations:migrate is executed

在 Symfony 4 中,我创建了一些实体,当我通过以下命令生成表时:

./bin/console doctrine:database:create && \
./bin/console doctrine:migrations:diff && \
./bin/console doctrine:migrations:migrate

一切正常,我的数据库是用我从实体文件中定义的所有 tables/relations 创建的。

我的问题是:当我创建一个新数据库和 'migrate' 我的实体文件时,如何在最新数据库中自动添加一些条目?我可以从实体文件或存储库文件中做到这一点吗?我可以在 ./bin/console doctrine:migrations:migrate 之后 运行 一个简单的任意 sql 命令,但我认为可能有更好的解决方案。

您要找的是 Fixtures。我建议使用 Alice 并为此生成 testing/development fixture Faker。

有一个名为 hautelook/AliceBundle 的流行包,它将这两种工具很好地集成到 Symfony 中。这个包还提供了一个额外的命令,你可以在你的工具链中使用它:

bin/console hautelook:fixtures:load