2

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

php bin/console make:migration

然后我用它创建原始数据库(mySql)

php bin/console doctrine:migrations:migrate

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

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

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

4

1 回答 1

3

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

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

从技术上讲,您可以使用固定装置来加载这些数据。尽管默认情况下,除非指定--append标志,否则夹具会截断整个数据库,使其不适合这种操作,因为无法使用此选项删除数据集。

于 2020-01-21T12:30:27.537 回答