Symyfony 3.4-如何将实体转移到其他数据库

时间:2019-01-23 14:58:52

标签: php symfony doctrine

我正在使用Symfony 3.4运行基于Doctrine的Web服务来管理和持久化不同的数据实体。

现在,我正在尝试实现一种将旧的废弃用户帐户转移到另一个用作存档的数据库的方法。

关于Symfony文档,配置Doctrine来管理不同的数据库连接和实体管理器应该没问题。

但是我不完全了解如何设置此用例的过程:

  • 假设Symfony项目具有不同的数据实体DataEntity1DataEntity2等,以及不同的基础结构实体Infrastructure1等。
  • 如何告诉Doctrine仅使用数据实体初始化存档数据库?
  • 如何在DB之间移动实体?是从实体管理器1加载它们并将它们持久保存在实体管理器2中吗?
  • 是否有最佳做法?

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题,则应将前缀选项用于映射配置。

  

前缀

     

此映射的所有实体共享的公用名称空间前缀。   此前缀不应与其他已定义的前缀冲突   映射,否则Doctrine无法找到您的某些实体。   此选项默认为包名称空间+实体,例如   一个名为AcmeHelloBundle前缀的应用程序捆绑是   Acme \ HelloBundle \ Entity。

看看https://symfony.com/doc/3.4/reference/configuration/doctrine.html会对您有帮助。

要在两个数据库之间移动实体,您应该有两个实体管理器,并使用正确的实体管理器来保留较旧的帐户。

希望这会有所帮助。