Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database design 管理与代码库相关的重要运行时业务逻辑_Database Design_Version Control_Web Applications_Business Logic - Fatal编程技术网

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

Database design 管理与代码库相关的重要运行时业务逻辑,database-design,version-control,web-applications,business-logic,Database Design,Version Control,Web Applications,Business Logic,我正在做一个项目,最终会有很多应用程序信息以记录的形式存储在数据库中。在本例中,是数据视图的配置: 要显示/隐藏的网格列 应用于每个栅格视图的默认过滤器 专栏标题 分类 小计 这些信息是应用程序价值的很大一部分,对其功能至关重要。管理员将对数据进行相当大的修改,因此它不是静态的,每次数据更改时都必须部署新版本的应用程序是不合适的 问题是,这个数据应该存储在哪里?它肯定会存在于数据库中,因为这是访问它的方式,但我觉得它也需要与版本控制的代码库一起保存,因为它是应用程序功能的一个组成部分。以前

我正在做一个项目,最终会有很多应用程序信息以记录的形式存储在数据库中。在本例中,是数据视图的配置:

  • 要显示/隐藏的网格列
  • 应用于每个栅格视图的默认过滤器
  • 专栏标题
  • 分类
  • 小计
这些信息是应用程序价值的很大一部分,对其功能至关重要。管理员将对数据进行相当大的修改,因此它不是静态的,每次数据更改时都必须部署新版本的应用程序是不合适的


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

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

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

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


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

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


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

好主意。可能是定期导出/签入数据,不过我可能会使用一种更易于阅读的格式(YAML或XML)。好主意。可能是定期导出/签入数据,不过我可能会使用更易于阅读的格式(YAML或XML)。