gpt4 book ai didi

doctrine - 防止 Doctrine 迁移 diff 删除表

转载 作者:行者123 更新时间:2023-12-02 16:57:01 26 4
gpt4 key购买 nike

我目前正在对一个大型现有数据库进行“理论化”。这个过程运行得很好,我们慢慢能够用实体和 DQL 替换旧的原始查询代码。

我们最近发现了很棒的 Doctrine Migrations 项目,它似乎是管理数据库更改的完美候选者。然而我们遇到了一些困难。

我们的数据库非常大,我们正在一点一点地重构应用程序的各个方面。目前,我们大约 40% 的数据库表示为实体。问题是,当我们在部分转换的数据库上运行“diff”时,diff 想要删除大量表,因为这些表不存在实体。我们可以手动编辑差异,但这会变得非常麻烦并且可能容易出错。

问题是;是否可以创建一个 diff 并告诉 diff 进程不要删除任何不存在实体的表?

最佳答案

如果您正在使用 Symfony2,您只需添加如下所示的配置:http://symfony.com/doc/current/bundles/DoctrineMigrationsBundle/index.html#manual-tables

在每个命令的基础上,您可以为那些应考虑差异的表指定一个正则表达式,例如:

app/console doctrine:migrations:diff --filter-expression=/^t_/

(只会为那些名称以 t_ 开头的表生成 diff,并忽略其他)。

关于doctrine - 防止 Doctrine 迁移 diff 删除表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22951277/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com