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
在 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