Doctrine:如何手动管理带有实体的表和其他表?

问题描述 投票:0回答:1

我有一个应用程序,其数据库按实体的学说进行管理。

我的应用程序需要动态创建没有实体的表。 (以编程方式)

当我执行doctrine:schema:update命令时,动态创建的表将被删除。

如果我添加

#schema_filter: ~^(?!g_)~ 

对于 dbal 配置,

doctrine:schema:update
忽略我的表格。很好啊。

另一方面,当我使用时:

$currentSchema = $sm->introspectSchema();
    $newSchema = clone $currentSchema;
    $table =  $newSchema->getTable('g_cars');
    $table->addColumn("zoby", "string", []);

getTable
没有找到我的桌子(由我自己管理,不按教义管理)。

如何保持由学说管理的实体以及使用

SchemaManager
在编程中创建的表?

我们应该覆盖

doctrine:schema:update
命令吗?

symfony doctrine
1个回答
0
投票

我解决了我的问题。

对于那些感兴趣的人,我建立了自己的学说:schema:update 命令。

我的命令,从数据库内省模式。 我从学说实体和我的自定义逻辑构建另一个模式。 感谢 SchemaTool,我比较了模式之间的差异。

结果,我需要执行 SQL 查询来同步我的数据库架构。

我希望这可以帮助遇到同样问题的人。

© www.soinside.com 2019 - 2024. All rights reserved.