代码之家  ›  专栏  ›  技术社区  ›  Daniel Beardsley

管理与代码库相关的重要运行时业务逻辑

  •  1
  • Daniel Beardsley  · 技术社区  · 15 年前

    我正在做一个项目,这个项目最终将有大量的应用程序信息以记录的形式存储在数据库中。在这种情况下,它是 数据视图的配置 :

    • 要显示/隐藏的网格列
    • 应用于每个网格视图的默认筛选器
    • 列标题
    • 分选
    • 次合计

    这些信息是应用程序价值的重要组成部分,对其功能至关重要。管理员将对数据进行一定程度的修改,因此它不是静态的,并且在每次数据更改时都不需要部署新版本的应用程序。

    问题是, 这些数据应该存储在哪里? 它肯定会存在于数据库中,因为这就是它的访问方式,但是我 感觉它还需要与版本控制的代码库保持一致 因为它是应用程序功能的一个组成部分。以前有人处理过这样的问题吗?你最后做了什么?

    2 回复  |  直到 15 年前
        1
  •  1
  •   Otávio Décio    15 年前

    您应该像存储当前版本的模式定义一样存储它。我将把这些条目导出为INSERT语句,并将文件与所有其他语句一起保存在源代码管理中。

        2
  •  0
  •   HLGEM    15 年前

    因为这将在您应该备份的数据库中(每15分钟或半小时备份一次事务日志的数据库的夜间备份),所以我认为您不会丢失数据。确保您的DBA知道如何将数据恢复到单独的数据库中,以便在需要恢复该表时仅能从该数据库复制表。

    或者,您可能需要一个触发器,该触发器将数据的所有更改存储在审计表中。然后,如果需要,您可以使用审计表来获取数据(但仍然要进行备份!)