Doctrine - 如何初始化 DB 值

Doctrine - how to initialize DB values

我在 Symfony 5.0 应用程序中使用 Doctrine 2.7.0。 我使用 ORM 注释在我的实体中定义我的数据库表。 我像这样使用 Symfony maker 创建迁移

php bin/console make:migration

然后我用

从中创建原始数据库 (mySql)
php bin/console doctrine:migrations:migrate

这会产生一个不错的新数据库。

现在 - 我想知道是否可以为带有注释的表定义基础数据。 我并不是要为属性设置默认值,而是要将条目添加到数据库始终需要的表中。

所以基本上我希望迁移也能将条目插入到数据库中。 这可能吗?

应用程序 运行 所需的数据(如查找表)实际上应该是迁移的一部分。您还应该为该数据提供适当的回滚过程,以保持您的迁移向后兼容。

然而,您应该避免对这些迁移使用 Doctrine,因为稍后对实体映射等的更改会破坏所有以前的迁移。

从技术上讲,您可以使用固定装置来加载此数据。尽管默认情况下固定装置 t运行 覆盖整个数据库,除非指定了 --append 标志,但它不适合这种操作,因为无法使用此选项删除数据集。