暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

如何用 Git 管理 Oracle 数据库版本?一步步教你避免数据丢失和代码冲突!

1. 概述

由于存储过程、函数、包等代码保存在数据库服务端里且只有最后修改记录,如每次更新代码后,都会覆盖之前的记录,在没有版本控制的情况下,数据库的更改很容易意外导致表被覆盖、数据丢失或bug,导致更新后很难找回以前的代码记录。为了便于管理Oracle 数据库中的存储过程、函数、包等代码版本,通过 Source Control for Oracle + Git 的方式进行代码管理,就能很容易追踪到是谁改了什么,什么时候改的,为什么改的。如果发生冲突,可以在提交更改之前比较差异。
image.png
Source Control for Oracle 有以下特点:

  • 可以看到对文件的每一次更改的历史记录,如更改了什么,谁更改了它,以及为什么更改它
  • 可以很容易地恢复到文件的早期版本,因此错误可以很容易地恢复,并且没有尝试的风险
  • 团队可以在同一个文件上工作,而不会相互阻塞或覆盖他们的更改
  • 团队可以在一个单一的、共享的文件库中工作,而不必不断地来回发送文件

Source Control for Oracle 的使用步骤如下:

  1. 安装和配置:下载并安装 Source Control for Oracle。然后安装与配置版本控制系统(如 Git、SVN 或 TFS)。
  2. 创建新项目:在 Source Control for Oracle 中创建一个新的源代码控制项目,指定要控制的 Oracle 数据库对象和静态数据。
  3. 检查工作:从版本控制系统中检出最新的数据库对象和静态数据,确保你的工作环境是最新的。
  4. 进行更改:在数据库连接客户端(如 SQL Developer)中进行数据库对象和静态数据的更改。Source Control for Oracle 会自动跟踪这些更改。
  5. 提交更改:在 Object Explorer 中,选择要提交的更改,输入提交信息,然后点击提交按钮。这样更改的操作就会被记录到版本控制系统中。
  6. 合并和分支:可以使用版本控制系统的功能来合并分支、解决冲突等。
  7. 查看历史记录:通过 Source Control for Oracle,可以查看每个更改的详细记录,包括更改的对象、更改者和时间。

2. 相关软件下载

3. 安装 Source Control for Oracle

安装时候注意是否缺少 .net 4.7.2,其余的安装步骤很简单,都按下一步就好了。

4. 同步数据库代码

  1. 打开 【Source Control for Oracle】进行创建源码项目,如下图:
    image.png

  2. 连接数据库可以使用 TNS 连接或者输入相关连接信息,这里使用的是手动连接,大家根据自身环境进行相应修改,如下图:
    1729691470509.png

  3. 先在需要进行版本控制的电脑上创建一个代码的根目录,如 D:\sql。(如果已有 svn 或 git,可以选择对应的选项)。
    image.png

  4. 选择对应的数据库用户
    1729691932228.png

  5. 创建 TUSER 目录
    1729692031174.jpg

  6. 创建完成
    1729692086297.jpg

  7. 保存所有文件,保存成功后,D:\sql目录下会生成一个 TUSER 文件夹
    image.png

  8. 保存后如下图,至此已经将数据库里的过程、函数与表结构等脚本都保存在 sql 目录下了。再根据 Git 进行版本控件。
    image.png
    image.png

5. 安装Git

  • 安装 PortableGit-2.35.1.2-64-bit.7z.exe(安装步骤很简单,都按下一步就好了)

6. 安装 TortoiseGit

  • 安装 TortoiseGit-2.13.0.1-64bit.msi(安装步骤很简单,都按下一步就好了)
  • 安装 TortoiseGit-LanguagePack-2.13.0.0-64bit-zh_CN.msi(安装步骤很简单,都按下一步就好了)

7. 创建版本库

  1. 配置 git.exe 路径 与 用户信息
    image.png

  2. 在刚才创建的sql目录,右键创建版本库
    image.png

  3. 提交初始版本
    image.png

8. 后续代码更新操作

代码更新情形一: 本地文件夹脚本有变动,数据库里没变动,需要将本地脚本更新到数据库中,同时变动的代码也要提交到 git 仓库里。

  1. 如更新 student.sql,将更新文件复制到 D:\sql\TUSER\Tables 目录下
  2. 启动 Source Control for Oracle ,刷新代码最新同步状态,对比查看更新前后状态,确认无误后更新脚本到数据库中.
  3. 将更新后的脚本提交到 git 仓库中,进行版本管理。

代码更新情形二: 本地文件夹脚本没有变动,代码已在数据库里更改,需要将数据库里的脚本同步到本地文件夹中,同时变动的代码也要提交到 git 仓库里。

代码更新情况三: 本地文件夹脚本有更改,同时也在数据库里更改,需要比后使用其中一个版本或手工合并版本后再同步到数据库中,并提交到代码仓库中。

最后修改时间:2024-10-30 18:07:33
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论