【问题标题】:Can you version control mySQL / postgres per user?您可以对每个用户的 mySQL / postgres 进行版本控制吗?
【发布时间】:2020-08-13 04:19:56
【问题描述】:

目前只是一个假设性问题,但您能否对每个用户的 DB 进行版本控制?

假设我是一家公司中唯一的技术人员,他们正计划雇用一名 IT 学徒。 现在说学徒也将在数据库上工作并最终操作数据......

假设我多年来对每个命令都非常小心,没有搞砸任何数据,但谁能说学徒不会发出错误的语句,例如删除过多的几行?

目前,唯一的选择是恢复长达一周的数据库备份。

是否有某种软件或插件可以备份每个更改的行?理想情况下,基于每个用户,您可以为受版本控制的学徒创建一个帐户,而来自前端的更改不会受版本控制?

【问题讨论】:

    标签: mysql database postgresql


    【解决方案1】:

    您可以尝试使用触发器和历史表自己编写类似的东西,但它很复杂并且会削弱性能。还有一些问题几乎是不可能解决的:如果学徒插入一行,而其他用户通过外键插入依赖于第一行的行,如何撤消每个用户的更改?

    在我看来(这个问题是基于意见的)你最好的选择是

    • 实施部署管道(开发 - 测试 - 生产)

    • 尽量减少手动干预数据库(这也会让你睡得更好,因为没有人是完美的)

    • 通过简单且经过充分测试的时间点恢复选项引入自动化基础备份和 WAL 归档解决方案

    【讨论】:

      猜你喜欢
      • 2016-12-15
      • 1970-01-01
      • 2010-10-17
      • 2010-09-13
      • 1970-01-01
      • 2015-05-16
      • 2010-09-13
      • 2018-08-01
      • 1970-01-01
      相关资源
      最近更新 更多