与完全基于脚本或数据库增量工具相比,使用转储文件作为数据和模式迁移的基础有哪些优缺点?

上下文是应用程序正在 生产环境 中,并且只有一个 生产环境 数据库 . 应用程序和数据库架构正在积极开发中 . 关键用户数据存在于 生产环境 数据库中,必须通过部署新版本或修订来推进 .

正在讨论的解决方案是:

转储文件基础 -

从参考点转储文件开始 .

数据库alter scripts被检入源代码管理 .

部署需要加载转储文件,然后运行alter脚本

架构迁移

整个模式和某些非用户配置数据在SCM中存储为DDL和DML .

针对最新版本模式的迁移脚本存储在SCM中 .

部署需要加载架构然后迁移数据 . 3 .

我的直觉是使用二进制格式作为基础是不好的,但我需要能够说服其他人(如果确实如此),谁认为这是必要的 .

我重新制定了这个问题,以便更容易回答 .

以下是原始问题:

我正在与数据库驱动的企业应用程序团队合作,并希望改进我们的流程 . 目前,围绕所有层更新数据库有很多手动过程 . 目标是实现自动化流程,以自动化方式更新数据库(符合原子提交的理念,更接近持续交付),这将带来许多优势 . 我认为应该在源代码控制中表示模式(以及应用程序配置所需的某些数据),此外,还需要从当前 生产环境 数据库转换和加载用户数据所需的任何脚本 . 我已经读过,不建议在源代码管理中使用转储文件(.dmp),直觉上,我强烈同意 . 但是我对项目的每个人都不同意 . 反驳的论点是,实际上不可能,或者至少太难,不能从转储文件开始 . 我违背了我对数据库知识的限制,无法真正进行有意义的辩论......我更像是一名开发人员,而不是数据库专家 . 建议的替代方案是保留更改脚本以将转储更改为最新模式 . 有人能帮我理解每种方法的优缺点吗?基于转储的方法是必要的,一个好主意,还是一个好主意,为什么?可能相关的一点背景:应用程序正在 生产环境 中,因此每个新版本必须作为部署过程的一部分导入数据,并且出于集成和UAT层的明显原因,这应该是真实数据 . 然而,这个应用程序不是由客户“运送”和安装的,在给定时间内只有一个 生产环境 实例,在内部维护 . 我意识到我的项目会有详细的细节,所以答案必须解决一般情况 .

java 数据库转储_从源控制数据库驱动的应用程序所需的转储开始?相关推荐

  1. java计算机毕业设计商店管理系统源码+数据库+系统+lw文档+mybatis+运行部署

    java计算机毕业设计商店管理系统源码+数据库+系统+lw文档+mybatis+运行部署 java计算机毕业设计商店管理系统源码+数据库+系统+lw文档+mybatis+运行部署 本源码技术栈: 项目 ...

  2. 基于JAVA人事管理系统计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA人事管理系统计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA人事管理系统计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...

  3. 基于JAVA高校体育场馆管理计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA高校体育场馆管理计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA高校体育场馆管理计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开发语 ...

  4. java计算机毕业设计银行贷款管理系统源码+数据库+系统+lw文档+部署

    java计算机毕业设计银行贷款管理系统源码+数据库+系统+lw文档+部署 java计算机毕业设计银行贷款管理系统源码+数据库+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...

  5. java计算机毕业设计口腔医院网站源码+数据库+lw文档+系统

    java计算机毕业设计口腔医院网站源码+数据库+lw文档+系统 java计算机毕业设计口腔医院网站源码+数据库+lw文档+系统 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软件: ...

  6. java计算机毕业设计医院管理系统源码+数据库+系统+lw文档+mybatis+运行部署

    java计算机毕业设计医院管理系统源码+数据库+系统+lw文档+mybatis+运行部署 java计算机毕业设计医院管理系统源码+数据库+系统+lw文档+mybatis+运行部署 本源码技术栈: 项目 ...

  7. java计算机毕业设计问卷调查系统源码+数据库+系统+lw文档+mybatis+运行部署

    java计算机毕业设计问卷调查系统源码+数据库+系统+lw文档+mybatis+运行部署 java计算机毕业设计问卷调查系统源码+数据库+系统+lw文档+mybatis+运行部署 本源码技术栈: 项目 ...

  8. java计算机毕业设计教务管理系统源码+数据库+系统+lw文档+mybatis+运行部署

    java计算机毕业设计教务管理系统源码+数据库+系统+lw文档+mybatis+运行部署 java计算机毕业设计教务管理系统源码+数据库+系统+lw文档+mybatis+运行部署 本源码技术栈: 项目 ...

  9. java计算机毕业设计汽车销售系统源码+数据库+系统+lw文档+mybatis+运行部署

    java计算机毕业设计汽车销售系统源码+数据库+系统+lw文档+mybatis+运行部署 java计算机毕业设计汽车销售系统源码+数据库+系统+lw文档+mybatis+运行部署 本源码技术栈: 项目 ...

最新文章

  1. 带修莫队 ---- 离散化 + 暴力 + 带修莫队 F. Machine Learning
  2. Centos7上yum安装mongodb4-2
  3. 第二章 -- (第一单元) -- 自动安装虚拟机
  4. html frame跳转实例,HTML frame标签怎么用?frame标签的具体使用实例
  5. 前端 HTML 常用标签 head标签相关内容 script标签
  6. 西瓜书+实战+吴恩达机器学习(十二)监督学习之AdaBoost
  7. 《WF编程》系列之4 - 漫游工作流:Widows Workflow Runtime及其服务
  8. 管理信息系统期末测试题
  9. HP服务器raid卡型号b110i安装2008R2认不到硬盘缺少硬盘驱动
  10. mysql 嵌入式linux版本_PHP专栏 : MySQL 数据库安装详细
  11. 十年了,测试变了,我也变了,但总有一些东西未变
  12. html td 超链接,web开发---给td添加超链接
  13. java项目前有红色叉号_eclipse导入项目后出现红色叉号的解决方案
  14. Linux平台被勒索软件REvil盯上
  15. SublimeLinter进行PHP代码检查
  16. es5和es6声明类的区别/es5和es6继承的区别
  17. E03.03 A ‘Masculinity Crisis’? China Says the Boys Are Not All Right
  18. ubuntu安装HBuilder过程
  19. Python爬虫实现抓取腾讯视频所有电影-源码【实战必学】
  20. 1、LLC电路之RLC电路

热门文章

  1. python读取excel指定行列_pandas读取excel指定行列索引header和index_col参数
  2. python turtle绕原点旋转_Python基本图形绘制
  3. java soap 头_如何在Java中添加Soap标头
  4. Python 单元测试(unittest)
  5. 04Hadoop中的setPartitionerClass/SortComparator/GroupingComparator问题
  6. session 详解
  7. IconFont的制作使用
  8. Sublime text使用快捷键
  9. vscode使用php调试
  10. JavaScript强化教程—— RegExp 对象