当前位置: 首页 > 面试题库 >

MySQL版本控制-Subversion

闾丘卓
2023-03-14
问题内容

想知道是否可以对MySQL数据库进行版本控制。

我知道这个问题之前已经有人提出过,但是最新的问题是在一年之前,而且事情以变化的速度…

问题来了,每个开发人员在自己的计算机上都具有apache / MySQL /
PHP,有时他们会在该计算机上编辑数据库。如果他们必须向所有其他开发人员发送电子邮件,然后手动编辑测试服务器数据库,则相当不便。

您如何处理这个问题?

谢谢


问题答案:

这本身不是与MySQL相关的解决方案,但是我们使用liquibase产品取得了很多成功。(http://www.liquibase.org/)

它是一个迁移解决方案,涵盖了许多不同的数据库供应商,允许将所有数据库更改都编码在配置文件中,所有这些文件都保存在Subversion中。由于所有配置都保存在XML文件中,因此很容易将其他人的更改合并到主线脚本中,并且可以很好地与标签和分支一起使用。

通过运行“更新数据库”命令,可以将数据库升级到当前修订级别。大多数更改还具有回滚数据库更改的功能,这也可能会有所帮助。我建议您遵循确保在运行迁移之前获得最新版本的做法,因为这可能是最简单的。

最后,当涉及到生产交付时,您可以选择将所有数据库更改输出作为完整的SQL脚本输出,以便它可以允许DBA运行它并保持职责分离。

到目前为止,它的工作就像一个魅力。



 类似资料:
  • 主要内容:一、概述,二、快照读与当前读,三、隔离级别与版本链复习,四、Read View,五、举例一、概述 MVCC(Multiversion Concurrency Control),多版本并发控制。它和undo log中的版本链息息相关,MVVC通过数据行的多个版本来实现数据库的并发控制。 简单的说就是当前事务查询另一个事务正在更改的行(如果此时读取就会发生脏读),不用加锁等待,而是读取该数据的历史版本,降低响应时间。 MVVC是通过undo log和Read View两种技术实现的。 二

  • 本章提供了网络 API 的版本控制指南。由于一个 API 服务可能提供多个 API 接口),因此 API 版本控制策略适用于API 接口级别,而不适用于 API 服务)级别。 为了方便起见,术语 API 指的是以下各节中的 API 接口。 网络API应该使用语义化的版本。比如给定版本号 MAJOR.MINOR.PATCH: 当做出不兼容修改的时候,修改 MAJOR 版本号 当以向后兼容的方式添加功

  • 你要为项目做版本控制,学会为项目做版本控制,是开发者的必备技能。用的工具叫 git。 git git 是一种版本控制工具,工具的使用只是一个熟练过程。 https://git-scm.com/ 安装 可以在 git 官网下载适合自己操作系统上用的 git 。也可以使用系统包管理去安装 git,Windows 如果下载了完整版的 cmder ,里面已经包含了 git 。 Windows Window

  • 版本控制 版本管理涉及团队协作,产品质量,和产品上线。使用版本控制工具可使我们自由的做的一些几点: 回退到任意版本 查看历史版本 对比两个版本差异 版本控制系统 版本控制系统(Version Control System)是一种记录若干文件修订记录的系统,它可以帮助开发者查阅或回档至某个历史版本。 手动版本控制 LVCS 本地 CVCS 集中式(例如 SVN) DVCS 分布式(例如 Git) 手

  • 版本控制 软件配置管理, 版本控制的一个组成部分, 也称为校正控制或源码控制, 用于管理文档, 计算机程序, 大型网站和其它信息集合的变化. 变化通常被定义为一串数字或字母代码, 被称为 "版本编号", "版本标识", 或简称"版本". 举个例子, 初始的文件集合是"版本1", 当第一个改变文件时, 就变成了"版本2"等等. 每一个版本都和一个时间戳和做出改变的人联系在一起. 版本可以被比较, 恢

  • 一个版本控制系统(或修订控制系统)是跟踪和控制项目文件变更的技术与实践的组合,包括源代码、文档和网页。如果你以前从来没有使用过版本控制,那你最好赶快找一个有经验的人加入。现今,所有的人都希望你的项目源代码存放在版本控制下,如果不使用版本控制,人们将会轻视项目。 版本控制如此广泛的原因是因为它实际上能帮助运营一个项目的所有方面:内部开发者交流、发布管理、Bug管理、代码稳定性和试验开发投入,以及对某