我们的Symfony应用程序使用Doctrine与EntityAuditBundle结合使用来跟踪数据库更改。这对于过去的修订非常有用,捆绑几乎可以告诉我们已经做了哪些更改。
下一个问题是未来的数据库更改。我们的客户无法更改其用户详细信息,因为我们需要手动确认这些信息。想想以下变化:
问题:让管理员首先审核建议的数据库更改的最佳机制是什么?管理员应该能够接受或拒绝更改。
子问题:这还适用于Doctrine OneToMany
和ManyToMany
关系吗?
答案 0 :(得分:1)
对于我刚刚完成的应用程序,我设置了一个Audit表 - 然后通过电子邮件将信息通过Outlook服务器发送到3个管理员电子邮件的列表中,我生成了一个链接,用于快速查看& #34;接受"并且"下降"按钮。 accept使用Audit表的ID触发存储过程,将数据复制到普通表,然后通过电子邮件向请求用户发送表已更新...拒绝 - 将数据保存在审计表中,并强制执行admin输入通过电子邮件发送给请求用户的备注。每天只有2-5个请求,它来自员工(内部连接,因此您可以信任请求而不是混杂的应用程序数据)。可能会有更好的方法 - 但这种方法对我来说非常有效。此外,审计表保留所有数据 - 所有请求,无论它们是否被授予。这用于报告。