当前位置: 首页 > 知识库问答 >
问题:

后端 - 有哪些工具可以比较两个表定义sql语句(create table),并自动生成表变更sql?

浦琪
2023-05-02

我们这边有个需求,将git工程里面维护有数据库所有表的表定义sql,想要开发一个工具来比较不同版本的表定义语句,并根据其不同之处生成数据库变更脚本。了解过目前开源的工具类似的有 mysqldiff,但mysqldiff是连接到数据库,比较两个数据库的表定义的区别生成变更脚本,这已经比较接近我们的需求了,但是还是希望能找到直接比较两个sql脚本中的的表定义语句来生成表变更脚本的工具。

共有1个答案

白才艺
2023-05-02

目前市面上这两个可以实现你说的需求:

1.Liquibase(https://www.liquibase.org/):

2.ApexSQL Diff(https://www.apexsql.com/sql-tools-diff/):

 类似资料:
  • 问题内容: 我想知道如何比较两个不同的数据库 表记录 。我的意思是,我将比较两个数据库表,它们可能具有不同的列名但具有相同的数据。但是其中一个表可能比另一个表具有更多的记录,因此我想看看这两个表之间的区别是什么。为此,如何编写sql查询?仅供参考:这两个数据库都在同一个SQL Server实例下。 然后,在比较表1和表2之后,它应该 从 表2返回 Ruby Core。 问题答案: 如果执行从T1到

  • 我正在用php和ajax创建一个消息传递站点。 获取对话有问题。 问题是,每当两个用户在他们之间聊天时,就会有两个id不同的行; A和B正在聊天,彼此只写了4条消息 消息数据库是这样的 我的目标是用这个代码获取记录 $页面所有者是登录的用户; 使用这种方法,我可以进行两次相同的对话 a 代码在页面上给了我两次对话,我只想得到一个结果; 我的整个php代码是这样的

  • 问题内容: 我列出了需要从SQL Server中删除的表(大约100 ++)。以下是我将使用的示例代码 我需要将表名100 ++时间替换为其他表名。如何编写可以自动生成查询列表的动态sql脚本? 问题答案: 您可以先生成脚本,然后使用动态sql执行: 如果您使用的版本低于2012,则需要使用字符串串联进行更改。 您可以通过修改模板轻松地使用自定义架构扩展此脚本: 输出:

  • 问题内容: 我是一个有角度的新手,我在角度的形式验证指令的工作方式上遇到了麻烦。 我知道我可以很容易地将指令添加到 各个字段 ,但是我正尝试添加一个验证,该验证将 比较两个表单字段 (两者都是模型的元素)。 这是一个表单框架: 简而言之,我想编写一条指令,并使用它来显示/隐藏if 和都有值but 。如何在一个指令中访问两个字段?指令是这项工作的正确工具吗? 问题答案: 剥皮猫的方法很多。 用法:

  • 问题内容: 我有两个简单的表:(这里只有“ id”列) 表格1: 表2: sql查询应比较两个表中table2中缺少的“ id”并返回:1,2 有任何想法吗?:) TY 问题答案: 有几种方法可以给这只猫蒙皮: 或者,您可以使用左外部联接:

  • 问题内容: 我有3张桌子,每个国家和地区都有它的代币 还有这些国家中所有湖泊和所有山峰中的一个的表。 我现在必须说明山峰少于湖泊的国家。我现在尝试了几个小时,但找不到解决此问题的方法。我试图将3个表连接在一起- 但我不知道下一步该怎么做。我确定我必须使用嵌套的SQL命令。 这是我对每个国家的湖泊和山脉计数的尝试 但是以某种方式,两个列的count(Geo_lake.country)和count(G