2

当使用 Doctrine 2.2 和 PostgreSQL(在 Symfony 2.1 下,但与它无关)时,声明一个实体如下:

<doctrine-mapping ...>
  <entity name="User" table="**clientschema**.*User*">
  </entity>
</doctrine-mapping>

我的数据库托管的用户表与这样的客户端模式模式一样多(它将数据从一个客户端分隔到另一个客户端,并且是干净的实践 IMO):

  • client1.User
  • 客户端2.用户
  • ...

因此,基本上,对于每个新客户端,我都会在新的专用模式下复制 User 表。当然,我还在新的客户端模式下复制了所有其他必要的表。

麻烦来了,在声明我的用户实体时,我实际上无法在表字段中设置模式名称,因为有很多可能!实际上,这取决于哪个客户端连接到应用程序......

各位有什么办法吗?我们可以为每个实体(包括正确的模式)动态设置表字段吗?也许另一个能更好地处理 PostgreSQL 模式的 ORM?

4

0 回答 0