每次我运行doctrine:migrations:diff为我的更改生成迁移,它总是包括删除一些不被规则处理的表,例如:
doctrine:migrations:diff
$this->addSql('DROP TABLE messenger_messages'); $this->addSql('DROP TABLE monitoring');
有没有一种方法可以告诉教义,特定的table不属于他,这样教义就不会每次都试图丢弃它们?
fivyi3re1#
你可以在文档中找到答案:https://symfony.com/doc/master/bundles/DoctrineMigrationsBundle/index.html#manual-tables简短回答:将前缀添加到自定义表中,然后配置此前缀(例如,如果自定义表以't_'开头):
doctrine: dbal: schema_filter: ~^(?!t_)~
jhiyze9q2#
可以使用正则表达式将表排除在学说视野之外。要指定一个不应该被教条触及的表列表,只需在config中添加以下内容:
doctrine: dbal: schema_filter: ~^(?!(messenger_messages|monitoring|foo|bar)$)~
这将防止教义操纵这四个表:
感谢@糖尿病肾病提示与regex的方式。
brtdzjyr3#
当有多个连接时,需要为每个连接设置:
doctrine: dbal: default_connection: default connections: default: url: '%env(resolve:DATABASE_URL)%' schema_filter: '~^(?!messenger_messages)~'
3条答案
按热度按时间fivyi3re1#
你可以在文档中找到答案:https://symfony.com/doc/master/bundles/DoctrineMigrationsBundle/index.html#manual-tables
简短回答:将前缀添加到自定义表中,然后配置此前缀(例如,如果自定义表以't_'开头):
jhiyze9q2#
可以使用正则表达式将表排除在学说视野之外。要指定一个不应该被教条触及的表列表,只需在config中添加以下内容:
这将防止教义操纵这四个表:
感谢@糖尿病肾病提示与regex的方式。
brtdzjyr3#
当有多个连接时,需要为每个连接设置: