This is an automated email from the ASF dual-hosted git repository.

jianbin pushed a commit to branch 2.x
in repository https://gitbox.apache.org/repos/asf/incubator-seata.git


The following commit(s) were added to refs/heads/2.x by this push:
     new ec7be6b699 bugfix: the vgroup_table in the SQL files of all databases 
should use a three-column unique constraint. (#7881)
ec7be6b699 is described below

commit ec7be6b699a5a5dc6d6470eeac4ea5c88d37b485
Author: maple <[email protected]>
AuthorDate: Mon Dec 22 11:02:36 2025 +0800

    bugfix: the vgroup_table in the SQL files of all databases should use a 
three-column unique constraint. (#7881)
---
 changes/en-us/2.x.md            | 1 +
 changes/zh-cn/2.x.md            | 1 +
 script/server/db/dm.sql         | 2 +-
 script/server/db/kingbase.sql   | 5 +++--
 script/server/db/oracle.sql     | 5 +++--
 script/server/db/oscar.sql      | 5 +++--
 script/server/db/postgresql.sql | 2 +-
 script/server/db/sqlserver.sql  | 3 +--
 8 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/changes/en-us/2.x.md b/changes/en-us/2.x.md
index 648aa295cf..feb62120c4 100644
--- a/changes/en-us/2.x.md
+++ b/changes/en-us/2.x.md
@@ -64,6 +64,7 @@ Add changes here for all PR submitted to the 2.x branch.
 - [[#7855](https://github.com/apache/incubator-seata/pull/7855)] fix comma 
missing in package.json/min-document
 - [[#7860](https://github.com/apache/incubator-seata/pull/7860)] Fix the issue 
where delayed messages in RocketMQ transactions were silently ignored, now 
explicitly throwing an exception
 - [[#7879](https://github.com/apache/incubator-seata/pull/7879)] fix:correct 
server port and naming server port
+- [[#7881](https://github.com/apache/incubator-seata/pull/7881)] the 
vgroup_table in the SQL files of all databases should use a three-column unique 
constraint
 
 
 ### optimize:
diff --git a/changes/zh-cn/2.x.md b/changes/zh-cn/2.x.md
index 814e2451c9..f1da97fd36 100644
--- a/changes/zh-cn/2.x.md
+++ b/changes/zh-cn/2.x.md
@@ -64,6 +64,7 @@
 - [[#7855](https://github.com/apache/incubator-seata/pull/7855)] 
修复package.json中min-document的逗号缺失
 - [[#7860](https://github.com/apache/incubator-seata/pull/7860)] 修复 RocketMQ 
事务中延迟消息静默失效的问题,改为显式抛出异常
 - [[#7879](https://github.com/apache/incubator-seata/pull/7879)] 
修正服务器端口与命名服务器端口
+- [[#7881](https://github.com/apache/incubator-seata/pull/7881)] 
修复了除mysql之外其他数据库的sql文件关于vgroup_table的表,使用三列唯一索引以保证容灾迁移高可用
 
 
 ### optimize:
diff --git a/script/server/db/dm.sql b/script/server/db/dm.sql
index ec3d1a27b8..a4ed7fd7b1 100644
--- a/script/server/db/dm.sql
+++ b/script/server/db/dm.sql
@@ -98,5 +98,5 @@ CREATE TABLE "SEATA"."VGROUP_TABLE"
     `VGROUP`    VARCHAR2(255),
     `NAMESPACE` VARCHAR2(255),
     `CLUSTER`   VARCHAR2(255),
-    PRIMARY KEY (`VGROUP`)
+    CONSTRAINT UK_VGROUP_NAMESPACE_CLUSTER UNIQUE (`VGROUP`, `NAMESPACE`, 
`CLUSTER`)
 );
\ No newline at end of file
diff --git a/script/server/db/kingbase.sql b/script/server/db/kingbase.sql
index 797603b797..a0d2741243 100644
--- a/script/server/db/kingbase.sql
+++ b/script/server/db/kingbase.sql
@@ -90,7 +90,8 @@ INSERT INTO distributed_lock (lock_key, lock_value, expire) 
VALUES ('TxTimeoutCh
 
 CREATE TABLE vgroup_table
 (
-    vGroup    VARCHAR2(255) PRIMARY KEY,
+    vGroup    VARCHAR2(255),
     namespace VARCHAR2(255),
-    cluster   VARCHAR2(255)
+    cluster   VARCHAR2(255),
+    CONSTRAINT uk_vgroup_namespace_cluster UNIQUE (vGroup, namespace, cluster)
 );
\ No newline at end of file
diff --git a/script/server/db/oracle.sql b/script/server/db/oracle.sql
index 797603b797..a0d2741243 100644
--- a/script/server/db/oracle.sql
+++ b/script/server/db/oracle.sql
@@ -90,7 +90,8 @@ INSERT INTO distributed_lock (lock_key, lock_value, expire) 
VALUES ('TxTimeoutCh
 
 CREATE TABLE vgroup_table
 (
-    vGroup    VARCHAR2(255) PRIMARY KEY,
+    vGroup    VARCHAR2(255),
     namespace VARCHAR2(255),
-    cluster   VARCHAR2(255)
+    cluster   VARCHAR2(255),
+    CONSTRAINT uk_vgroup_namespace_cluster UNIQUE (vGroup, namespace, cluster)
 );
\ No newline at end of file
diff --git a/script/server/db/oscar.sql b/script/server/db/oscar.sql
index a65b5e8b0d..6784c443b6 100644
--- a/script/server/db/oscar.sql
+++ b/script/server/db/oscar.sql
@@ -88,7 +88,8 @@ INSERT INTO distributed_lock (LOCK_KEY, LOCK_VALUE, EXPIRE) 
VALUES ('RetryRollba
 INSERT INTO distributed_lock (LOCK_KEY, LOCK_VALUE, EXPIRE) VALUES 
('TxTimeoutCheck', ' ', 0);
 CREATE TABLE VGROUP_TABLE
 (
-    VGROUP    VARCHAR2(255) PRIMARY KEY,
+    VGROUP    VARCHAR2(255),
     NAMESPACE VARCHAR2(255),
-    CLUSTER   VARCHAR2(255)
+    CLUSTER   VARCHAR2(255),
+    CONSTRAINT UK_VGROUP_NAMESPACE_CLUSTER UNIQUE (VGROUP, NAMESPACE, CLUSTER)
 );
\ No newline at end of file
diff --git a/script/server/db/postgresql.sql b/script/server/db/postgresql.sql
index 91fd2128a0..115a42c268 100644
--- a/script/server/db/postgresql.sql
+++ b/script/server/db/postgresql.sql
@@ -93,5 +93,5 @@ CREATE TABLE IF NOT EXISTS vgroup_table
     vGroup    VARCHAR(255),
     namespace VARCHAR(255),
     cluster   VARCHAR(255),
-    PRIMARY KEY (vGroup)
+    CONSTRAINT uk_vgroup_namespace_cluster UNIQUE (vGroup, namespace, cluster)
 );
\ No newline at end of file
diff --git a/script/server/db/sqlserver.sql b/script/server/db/sqlserver.sql
index d39464f554..2757adf81d 100644
--- a/script/server/db/sqlserver.sql
+++ b/script/server/db/sqlserver.sql
@@ -123,6 +123,5 @@ CREATE TABLE [vgroup_table]
     [vGroup]    nvarchar(255) NOT NULL,
     [namespace] nvarchar(255) NOT NULL,
     [cluster]   nvarchar(255) NOT NULL,
-    PRIMARY KEY CLUSTERED ([vGroup])
-        WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = 
OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
+    CONSTRAINT uk_vgroup_namespace_cluster UNIQUE ([vGroup], [namespace], 
[cluster])
 )
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to