在 Symfony 上生成迁移时忽略实体

Posted

技术标签:

【中文标题】在 Symfony 上生成迁移时忽略实体【英文标题】:Ignore entity when generating a migration on Symfony 【发布时间】:2022-01-20 16:53:09 【问题描述】:

我有一个 mysql 视图,我在我的项目中使用它作为一个实体。但是在生成迁移时,它会尝试创建一个表。有没有办法告诉 symfony 在生成新迁移时忽略该实体?

/**
 * @ORM\Entity
 * @ORM\Table(name="mysql_view_table")
 */
class MysqlViewTable 

【问题讨论】:

【参考方案1】:

该功能已准备就绪(实际上是 5 天前合并的),但尚未发布。它将包含在下一个 (2.11) 版本中。您可以选择在配置中设置要忽略的实体列表:

$config->setSchemaIgnoreClasses([$fqcn]);

文档:https://www.doctrine-project.org/projects/doctrine-orm/en/2.11/reference/advanced-configuration.html#ignoring-entities-optional

公关:https://github.com/doctrine/orm/pull/9202

【讨论】:

【参考方案2】:

您可以使用此配置忽略表mysql_view_table

doctrine:
    dbal:
        schema_filter: ~^(?!mysql_view_table)~

更多信息,您可以访问DoctrineMigrationsBundle doc:

【讨论】:

以上是关于在 Symfony 上生成迁移时忽略实体的主要内容,如果未能解决你的问题,请参考以下文章

实体的 Symfony 学说问题 [重复]

Symfony - EasyAdmin - 从 AssociationField 中忽略添加和删除功能

SQL 在使用 symfony 迁移期间返回语法错误或访问冲突:1064

实体框架代码优先迁移忽略 [Key] 并强制复合键

如何在 Symfony 中增加会话超时

如何修改 Symfony ORM 插入\更新查询