多个实体的 EmailLog table
EmailLog table for multiple entities
我需要实现一个电子邮件日志 table,它将被一系列实体使用 - 每个实体都代表我们用来创建 "emailable" 文档的数据。
我如何使用 Symfony2 和学说在数据库中最好地模拟这种行为?字段太多,无法重用 EmailLog table,并且还计划了可能包括整体日志视图的功能。
假设我们有tables quote and order 这样的文档数据tables,对我来说最明智的似乎是
Company\Bundle\Entity\EmailLog:
type: entity
table: email_log
id:
id:
type: integer
nullable: false
unsigned: false
comment: ''
id: true
column: emlo_id
generator:
strategy: IDENTITY
fields:
created_at:
type: datetime
nullable: true
fixed: false
comment: ''
default: ''
to:
type: string
nullable: false
length: 500
fixed: false
comment: ''
Company\Bundle\Entity\EmailLog:
type: entity
table: email_log_link
id:
id:
type: integer
nullable: false
unsigned: false
comment: ''
id: true
column: emlo_id
generator:
strategy: IDENTITY
fields:
quote_id:
type: int
nullable: true
order_id:
type: int
nullable: true
有没有更好的数据库模型?
是否可以使用 PSR-3 记录器解决这个问题?
根据我在你的映射文件中看到的情况,你似乎在使用 Doctrine ORM。
您试图实现的目标可能被称为反模式,“The Alien”,一种存储在关系数据库中的对象类型,与其他实体的关系很少或没有关系。您只是将数据库用作持久性媒介。
为什么不将领域模型的这一部分转换为文档数据库?您将您的实体设计为简单的文档,并使用 Doctrine ODM 将它们映射到 Symfony。此外,将实际映射转换为 ODM 映射非常简单。
我需要实现一个电子邮件日志 table,它将被一系列实体使用 - 每个实体都代表我们用来创建 "emailable" 文档的数据。
我如何使用 Symfony2 和学说在数据库中最好地模拟这种行为?字段太多,无法重用 EmailLog table,并且还计划了可能包括整体日志视图的功能。
假设我们有tables quote and order 这样的文档数据tables,对我来说最明智的似乎是
Company\Bundle\Entity\EmailLog:
type: entity
table: email_log
id:
id:
type: integer
nullable: false
unsigned: false
comment: ''
id: true
column: emlo_id
generator:
strategy: IDENTITY
fields:
created_at:
type: datetime
nullable: true
fixed: false
comment: ''
default: ''
to:
type: string
nullable: false
length: 500
fixed: false
comment: ''
Company\Bundle\Entity\EmailLog:
type: entity
table: email_log_link
id:
id:
type: integer
nullable: false
unsigned: false
comment: ''
id: true
column: emlo_id
generator:
strategy: IDENTITY
fields:
quote_id:
type: int
nullable: true
order_id:
type: int
nullable: true
有没有更好的数据库模型?
是否可以使用 PSR-3 记录器解决这个问题?
根据我在你的映射文件中看到的情况,你似乎在使用 Doctrine ORM。
您试图实现的目标可能被称为反模式,“The Alien”,一种存储在关系数据库中的对象类型,与其他实体的关系很少或没有关系。您只是将数据库用作持久性媒介。
为什么不将领域模型的这一部分转换为文档数据库?您将您的实体设计为简单的文档,并使用 Doctrine ODM 将它们映射到 Symfony。此外,将实际映射转换为 ODM 映射非常简单。