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

时间:2010-04-13 20:54:36

标签: database-design version-control web-applications business-logic

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

  • 显示/隐藏哪些网格列
  • 要应用于每个网格视图的默认过滤器
  • 列标题
  • 排序
  • 小计
  • ...

此信息是应用程序价值的重要组成部分,对其功能至关重要。管理员会相应地更改数据,因此它不是静态的,每次数据更改时都必须部署新版本的应用程序。

问题是,这些数据应该存储在哪里?它肯定会存在于数据库中,因为它是如何被访问的,但我觉得它还需要与版本保持一致受控代码库因为它是应用程序运行的一个组成部分。以前有人处理过这样的问题吗?你到底做了什么?

2 个答案:

答案 0 :(得分:1)

您应该以存储当前版本的架构定义的方式存储它。我会将条目导出为insert语句,并将文件与其他所有文件一起保存在源代码管理中。

答案 1 :(得分:0)

由于这将在数据库中,您应该备份(每15分钟或半小时使用事务日志备份对数据库进行夜间备份),我认为您不会丢失数据。确保您的dbas知道如何将数据还原到单独的数据库,以便在需要恢复表时只能从该数据库复制表。

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