通过Admin GUI与CLI与Code删除Prod上的记录



这可能是主观的,但只是想知道删除生产数据库上记录的理想方式是什么(假设您不想软删除存档并实际清除它(

我只是想删除几条记录(而不是大批量清理(。在这种情况下,我认为使用某种管理GUI工具并以这种方式删除项目没有任何问题。

一个类似的选项是进入DB的CLI并在那里执行。在我看来,这里需要注意的是,您可能会因为忘记包含where子句而意外删除所有记录。在GUI中这样做可以防止这种情况发生。

另一种选择是编写一些脚本并以这种方式执行。但是,由于这是自动化的,你可能会在为时已晚之后意识到有问题。

不管怎样,我也理解在ProdDB上做任何事情之前经常备份的必要性。

有什么见解吗?谢谢

我的2美分:当对prod进行任何更新时,应该遵循的一般经验法则是:无论能做什么,都可以撤消。也就是说,作为GDPR合规性的一部分,个人数据必须被永久删除。

尽管这取决于要删除的事件数量/性能预期等因素,但该表应该有一个备份,如果需要,可以从中恢复数据。如果备份更新成本太高,您可以进行软删除,以便在"之后永久删除软删除的行;n〃;天。

代码:我认为删除逻辑应该驻留在这里并在这里进行测试。它需要作为一个带有安全检查的接口公开,而不仅仅是向用户提供运行任何查询的能力。这也易于测试、维护和扩展。

CLI:在我看来,在SQL客户端上写入删除查询是不可接受的。这很容易出错。理想情况下,SQL客户端用户甚至不应该有权删除数据或表。

GUI:。老实说,我不会把GUI放在代码前面。删除产品数据应尽可能困难和限制。我能看到实现GUI的唯一原因是,如果这是一个频繁的操作,那么支持/管理团队可以轻松使用用户友好的GUI。

最新更新