fix(1.5.0-beta1): 同步数据库

This commit is contained in:
dhb52 2025-04-26 10:06:38 +08:00 committed by opensnail
parent d89862f824
commit 65f8093dd3
6 changed files with 102 additions and 47 deletions

View File

@ -2,7 +2,7 @@
SnailJob Database Transfer Tool
Source Server Type : MySQL
Target Server Type : DM8
Date: 2025-02-25 22:17:15
Date: 2025-04-26 09:59:32
*/
@ -133,7 +133,9 @@ CREATE TABLE sj_retry_dead_letter
id bigint NOT NULL PRIMARY KEY IDENTITY,
namespace_id varchar(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
group_name varchar(64) NULL,
group_id bigint NOT NULL,
scene_name varchar(64) NULL,
scene_id bigint NOT NULL,
idempotent_id varchar(64) NULL,
biz_no varchar(64) DEFAULT '' NULL,
executor_name varchar(512) DEFAULT '' NULL,
@ -150,7 +152,9 @@ CREATE INDEX idx_sj_retry_dead_letter_04 ON sj_retry_dead_letter (create_dt);
COMMENT ON COLUMN sj_retry_dead_letter.id IS '主键';
COMMENT ON COLUMN sj_retry_dead_letter.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_retry_dead_letter.group_name IS '组名称';
COMMENT ON COLUMN sj_retry_dead_letter.group_id IS '组Id';
COMMENT ON COLUMN sj_retry_dead_letter.scene_name IS '场景名称';
COMMENT ON COLUMN sj_retry_dead_letter.scene_id IS '场景ID';
COMMENT ON COLUMN sj_retry_dead_letter.idempotent_id IS '幂等id';
COMMENT ON COLUMN sj_retry_dead_letter.biz_no IS '业务编号';
COMMENT ON COLUMN sj_retry_dead_letter.executor_name IS '执行器名称';
@ -165,7 +169,9 @@ CREATE TABLE sj_retry
id bigint NOT NULL PRIMARY KEY IDENTITY,
namespace_id varchar(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
group_name varchar(64) NULL,
group_id bigint NOT NULL,
scene_name varchar(64) NULL,
scene_id bigint NOT NULL,
idempotent_id varchar(64) NULL,
biz_no varchar(64) DEFAULT '' NULL,
executor_name varchar(512) DEFAULT '' NULL,
@ -182,19 +188,19 @@ CREATE TABLE sj_retry
update_dt datetime DEFAULT CURRENT_TIMESTAMP NOT NULL
);
CREATE UNIQUE INDEX uk_sj_retry_01 ON sj_retry (namespace_id, group_name, task_type, idempotent_id, deleted);
CREATE UNIQUE INDEX uk_sj_retry_01 ON sj_retry (scene_id, task_type, idempotent_id, deleted);
CREATE INDEX idx_sj_retry_01 ON sj_retry (namespace_id, group_name, scene_name);
CREATE INDEX idx_sj_retry_02 ON sj_retry (namespace_id, group_name, retry_status);
CREATE INDEX idx_sj_retry_03 ON sj_retry (idempotent_id);
CREATE INDEX idx_sj_retry_04 ON sj_retry (biz_no);
CREATE INDEX idx_sj_retry_05 ON sj_retry (parent_id);
CREATE INDEX idx_sj_retry_06 ON sj_retry (create_dt);
CREATE INDEX idx_sj_retry_01 ON sj_retry (biz_no);
CREATE INDEX idx_sj_retry_02 ON sj_retry (retry_status, bucket_index);
CREATE INDEX idx_sj_retry_03 ON sj_retry (parent_id);
CREATE INDEX idx_sj_retry_04 ON sj_retry (create_dt);
COMMENT ON COLUMN sj_retry.id IS '主键';
COMMENT ON COLUMN sj_retry.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_retry.group_name IS '组名称';
COMMENT ON COLUMN sj_retry.group_id IS '组Id';
COMMENT ON COLUMN sj_retry.scene_name IS '场景名称';
COMMENT ON COLUMN sj_retry.scene_id IS '场景ID';
COMMENT ON COLUMN sj_retry.idempotent_id IS '幂等id';
COMMENT ON COLUMN sj_retry.biz_no IS '业务编号';
COMMENT ON COLUMN sj_retry.executor_name IS '执行器名称';

View File

@ -2,7 +2,7 @@
SnailJob Database Transfer Tool
Source Server Type : MySQL
Target Server Type : KingbaseES
Date: 2025-02-25 22:17:37
Date: 2025-04-26 10:03:42
*/
@ -30,7 +30,7 @@ COMMENT ON COLUMN sj_namespace.update_dt IS '修改时间';
COMMENT ON TABLE sj_namespace IS '命名空间';
INSERT INTO sj_namespace (id, name, unique_id, create_dt, update_dt, deleted)
VALUES (0, 'Default', '764d604ec6fc45f68cd92514c40e9e1a', now(), now(), 0);
VALUES (1, 'Default', '764d604ec6fc45f68cd92514c40e9e1a', now(), now(), 0);
-- sj_group_config
CREATE TABLE sj_group_config
@ -133,7 +133,9 @@ CREATE TABLE sj_retry_dead_letter
id bigserial PRIMARY KEY,
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
group_name varchar(64) NOT NULL,
group_id bigint NOT NULL,
scene_name varchar(64) NOT NULL,
scene_id bigint NOT NULL,
idempotent_id varchar(64) NOT NULL,
biz_no varchar(64) NULL DEFAULT '',
executor_name varchar(512) NULL DEFAULT '',
@ -150,7 +152,9 @@ CREATE INDEX idx_sj_retry_dead_letter_04 ON sj_retry_dead_letter (create_dt);
COMMENT ON COLUMN sj_retry_dead_letter.id IS '主键';
COMMENT ON COLUMN sj_retry_dead_letter.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_retry_dead_letter.group_name IS '组名称';
COMMENT ON COLUMN sj_retry_dead_letter.group_id IS '组Id';
COMMENT ON COLUMN sj_retry_dead_letter.scene_name IS '场景名称';
COMMENT ON COLUMN sj_retry_dead_letter.scene_id IS '场景ID';
COMMENT ON COLUMN sj_retry_dead_letter.idempotent_id IS '幂等id';
COMMENT ON COLUMN sj_retry_dead_letter.biz_no IS '业务编号';
COMMENT ON COLUMN sj_retry_dead_letter.executor_name IS '执行器名称';
@ -165,7 +169,9 @@ CREATE TABLE sj_retry
id bigserial PRIMARY KEY,
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
group_name varchar(64) NOT NULL,
group_id bigint NOT NULL,
scene_name varchar(64) NOT NULL,
scene_id bigint NOT NULL,
idempotent_id varchar(64) NOT NULL,
biz_no varchar(64) NULL DEFAULT '',
executor_name varchar(512) NULL DEFAULT '',
@ -182,19 +188,19 @@ CREATE TABLE sj_retry
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE UNIQUE INDEX uk_sj_retry_01 ON sj_retry (namespace_id, group_name, task_type, idempotent_id, deleted);
CREATE UNIQUE INDEX uk_sj_retry_01 ON sj_retry (scene_id, task_type, idempotent_id, deleted);
CREATE INDEX idx_sj_retry_01 ON sj_retry (namespace_id, group_name, scene_name);
CREATE INDEX idx_sj_retry_02 ON sj_retry (namespace_id, group_name, retry_status);
CREATE INDEX idx_sj_retry_03 ON sj_retry (idempotent_id);
CREATE INDEX idx_sj_retry_04 ON sj_retry (biz_no);
CREATE INDEX idx_sj_retry_05 ON sj_retry (parent_id);
CREATE INDEX idx_sj_retry_06 ON sj_retry (create_dt);
CREATE INDEX idx_sj_retry_01 ON sj_retry (biz_no);
CREATE INDEX idx_sj_retry_02 ON sj_retry (retry_status, bucket_index);
CREATE INDEX idx_sj_retry_03 ON sj_retry (parent_id);
CREATE INDEX idx_sj_retry_04 ON sj_retry (create_dt);
COMMENT ON COLUMN sj_retry.id IS '主键';
COMMENT ON COLUMN sj_retry.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_retry.group_name IS '组名称';
COMMENT ON COLUMN sj_retry.group_id IS '组Id';
COMMENT ON COLUMN sj_retry.scene_name IS '场景名称';
COMMENT ON COLUMN sj_retry.scene_id IS '场景ID';
COMMENT ON COLUMN sj_retry.idempotent_id IS '幂等id';
COMMENT ON COLUMN sj_retry.biz_no IS '业务编号';
COMMENT ON COLUMN sj_retry.executor_name IS '执行器名称';

View File

@ -1,9 +1,8 @@
/*
SnailJob Database Transfer Tool
Source Server Type : MySQL
Target Server Type : Oracle
Date: 2025-02-25 22:16:28
Date: 2025-04-26 10:01:54
*/
@ -146,7 +145,9 @@ CREATE TABLE sj_retry_dead_letter
id number GENERATED ALWAYS AS IDENTITY,
namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
group_name varchar2(64) NULL,
group_id number NOT NULL,
scene_name varchar2(64) NULL,
scene_id number NOT NULL,
idempotent_id varchar2(64) NULL,
biz_no varchar2(64) DEFAULT '' NULL,
executor_name varchar2(512) DEFAULT '' NULL,
@ -166,7 +167,9 @@ CREATE INDEX idx_sj_retry_dead_letter_04 ON sj_retry_dead_letter (create_dt);
COMMENT ON COLUMN sj_retry_dead_letter.id IS '主键';
COMMENT ON COLUMN sj_retry_dead_letter.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_retry_dead_letter.group_name IS '组名称';
COMMENT ON COLUMN sj_retry_dead_letter.group_id IS '组Id';
COMMENT ON COLUMN sj_retry_dead_letter.scene_name IS '场景名称';
COMMENT ON COLUMN sj_retry_dead_letter.scene_id IS '场景ID';
COMMENT ON COLUMN sj_retry_dead_letter.idempotent_id IS '幂等id';
COMMENT ON COLUMN sj_retry_dead_letter.biz_no IS '业务编号';
COMMENT ON COLUMN sj_retry_dead_letter.executor_name IS '执行器名称';
@ -181,7 +184,9 @@ CREATE TABLE sj_retry
id number GENERATED ALWAYS AS IDENTITY,
namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
group_name varchar2(64) NULL,
group_id number NOT NULL,
scene_name varchar2(64) NULL,
scene_id number NOT NULL,
idempotent_id varchar2(64) NULL,
biz_no varchar2(64) DEFAULT '' NULL,
executor_name varchar2(512) DEFAULT '' NULL,
@ -201,19 +206,19 @@ CREATE TABLE sj_retry
ALTER TABLE sj_retry
ADD CONSTRAINT pk_sj_retry PRIMARY KEY (id);
CREATE UNIQUE INDEX uk_sj_retry_01 ON sj_retry (namespace_id, group_name, task_type, idempotent_id, deleted);
CREATE UNIQUE INDEX uk_sj_retry_01 ON sj_retry (scene_id, task_type, idempotent_id, deleted);
CREATE INDEX idx_sj_retry_01 ON sj_retry (namespace_id, group_name, scene_name);
CREATE INDEX idx_sj_retry_02 ON sj_retry (namespace_id, group_name, retry_status);
CREATE INDEX idx_sj_retry_03 ON sj_retry (idempotent_id);
CREATE INDEX idx_sj_retry_04 ON sj_retry (biz_no);
CREATE INDEX idx_sj_retry_05 ON sj_retry (parent_id);
CREATE INDEX idx_sj_retry_06 ON sj_retry (create_dt);
CREATE INDEX idx_sj_retry_01 ON sj_retry (biz_no);
CREATE INDEX idx_sj_retry_02 ON sj_retry (retry_status, bucket_index);
CREATE INDEX idx_sj_retry_03 ON sj_retry (parent_id);
CREATE INDEX idx_sj_retry_04 ON sj_retry (create_dt);
COMMENT ON COLUMN sj_retry.id IS '主键';
COMMENT ON COLUMN sj_retry.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_retry.group_name IS '组名称';
COMMENT ON COLUMN sj_retry.group_id IS '组Id';
COMMENT ON COLUMN sj_retry.scene_name IS '场景名称';
COMMENT ON COLUMN sj_retry.scene_id IS '场景ID';
COMMENT ON COLUMN sj_retry.idempotent_id IS '幂等id';
COMMENT ON COLUMN sj_retry.biz_no IS '业务编号';
COMMENT ON COLUMN sj_retry.executor_name IS '执行器名称';
@ -392,7 +397,7 @@ COMMENT ON TABLE sj_server_node IS '服务器节点';
-- sj_distributed_lock
CREATE TABLE sj_distributed_lock
(
name varchar2(64) NOT NULL,
name varchar2(64) NULL,
lock_until timestamp(3) DEFAULT CURRENT_TIMESTAMP(3) NOT NULL,
locked_at timestamp(3) DEFAULT CURRENT_TIMESTAMP(3) NOT NULL,
locked_by varchar2(255) NULL,
@ -401,7 +406,7 @@ CREATE TABLE sj_distributed_lock
);
ALTER TABLE sj_distributed_lock
ADD CONSTRAINT pk_sj_distributed_lock PRIMARY KEY (name);
ADD CONSTRAINT pk_sj_distributed_lock PRIMARY KEY (id);
COMMENT ON COLUMN sj_distributed_lock.name IS '锁名称';
COMMENT ON COLUMN sj_distributed_lock.lock_until IS '锁定时长';

View File

@ -2,7 +2,7 @@
SnailJob Database Transfer Tool
Source Server Type : MySQL
Target Server Type : PostgreSQL
Date: 2025-02-25 22:15:32
Date: 2025-04-26 09:56:45
*/
@ -30,7 +30,7 @@ COMMENT ON COLUMN sj_namespace.update_dt IS '修改时间';
COMMENT ON TABLE sj_namespace IS '命名空间';
INSERT INTO sj_namespace (id, name, unique_id, create_dt, update_dt, deleted)
VALUES (0, 'Default', '764d604ec6fc45f68cd92514c40e9e1a', now(), now(), 0);
VALUES (1, 'Default', '764d604ec6fc45f68cd92514c40e9e1a', now(), now(), 0);
-- sj_group_config
CREATE TABLE sj_group_config
@ -133,7 +133,9 @@ CREATE TABLE sj_retry_dead_letter
id bigserial PRIMARY KEY,
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
group_name varchar(64) NOT NULL,
group_id bigint NOT NULL,
scene_name varchar(64) NOT NULL,
scene_id bigint NOT NULL,
idempotent_id varchar(64) NOT NULL,
biz_no varchar(64) NOT NULL DEFAULT '',
executor_name varchar(512) NOT NULL DEFAULT '',
@ -150,7 +152,9 @@ CREATE INDEX idx_sj_retry_dead_letter_04 ON sj_retry_dead_letter (create_dt);
COMMENT ON COLUMN sj_retry_dead_letter.id IS '主键';
COMMENT ON COLUMN sj_retry_dead_letter.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_retry_dead_letter.group_name IS '组名称';
COMMENT ON COLUMN sj_retry_dead_letter.group_id IS '组Id';
COMMENT ON COLUMN sj_retry_dead_letter.scene_name IS '场景名称';
COMMENT ON COLUMN sj_retry_dead_letter.scene_id IS '场景ID';
COMMENT ON COLUMN sj_retry_dead_letter.idempotent_id IS '幂等id';
COMMENT ON COLUMN sj_retry_dead_letter.biz_no IS '业务编号';
COMMENT ON COLUMN sj_retry_dead_letter.executor_name IS '执行器名称';
@ -165,7 +169,9 @@ CREATE TABLE sj_retry
id bigserial PRIMARY KEY,
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
group_name varchar(64) NOT NULL,
group_id bigint NOT NULL,
scene_name varchar(64) NOT NULL,
scene_id bigint NOT NULL,
idempotent_id varchar(64) NOT NULL,
biz_no varchar(64) NOT NULL DEFAULT '',
executor_name varchar(512) NOT NULL DEFAULT '',
@ -182,19 +188,19 @@ CREATE TABLE sj_retry
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE UNIQUE INDEX uk_sj_retry_01 ON sj_retry (namespace_id, group_name, task_type, idempotent_id, deleted);
CREATE UNIQUE INDEX uk_sj_retry_01 ON sj_retry (scene_id, task_type, idempotent_id, deleted);
CREATE INDEX idx_sj_retry_01 ON sj_retry (namespace_id, group_name, scene_name);
CREATE INDEX idx_sj_retry_02 ON sj_retry (namespace_id, group_name, retry_status);
CREATE INDEX idx_sj_retry_03 ON sj_retry (idempotent_id);
CREATE INDEX idx_sj_retry_04 ON sj_retry (biz_no);
CREATE INDEX idx_sj_retry_05 ON sj_retry (parent_id);
CREATE INDEX idx_sj_retry_06 ON sj_retry (create_dt);
CREATE INDEX idx_sj_retry_01 ON sj_retry (biz_no);
CREATE INDEX idx_sj_retry_02 ON sj_retry (retry_status, bucket_index);
CREATE INDEX idx_sj_retry_03 ON sj_retry (parent_id);
CREATE INDEX idx_sj_retry_04 ON sj_retry (create_dt);
COMMENT ON COLUMN sj_retry.id IS '主键';
COMMENT ON COLUMN sj_retry.namespace_id IS '命名空间id';
COMMENT ON COLUMN sj_retry.group_name IS '组名称';
COMMENT ON COLUMN sj_retry.group_id IS '组Id';
COMMENT ON COLUMN sj_retry.scene_name IS '场景名称';
COMMENT ON COLUMN sj_retry.scene_id IS '场景ID';
COMMENT ON COLUMN sj_retry.idempotent_id IS '幂等id';
COMMENT ON COLUMN sj_retry.biz_no IS '业务编号';
COMMENT ON COLUMN sj_retry.executor_name IS '执行器名称';

View File

@ -2,7 +2,7 @@
SnailJob Database Transfer Tool
Source Server Type : MySQL
Target Server Type : Microsoft SQL Server
Date: 2025-02-25 22:16:48
Date: 2025-04-26 10:03:23
*/
@ -404,7 +404,9 @@ CREATE TABLE sj_retry_dead_letter
id bigint NOT NULL PRIMARY KEY IDENTITY,
namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
group_name nvarchar(64) NOT NULL,
group_id bigint NOT NULL,
scene_name nvarchar(64) NOT NULL,
scene_id bigint NOT NULL,
idempotent_id nvarchar(64) NOT NULL,
biz_no nvarchar(64) NOT NULL DEFAULT '',
executor_name nvarchar(512) NOT NULL DEFAULT '',
@ -444,6 +446,13 @@ EXEC sp_addextendedproperty
'COLUMN', N'group_name'
GO
EXEC sp_addextendedproperty
'MS_Description', N'组Id',
'SCHEMA', N'dbo',
'TABLE', N'sj_retry_dead_letter',
'COLUMN', N'group_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'场景名称',
'SCHEMA', N'dbo',
@ -451,6 +460,13 @@ EXEC sp_addextendedproperty
'COLUMN', N'scene_name'
GO
EXEC sp_addextendedproperty
'MS_Description', N'场景ID',
'SCHEMA', N'dbo',
'TABLE', N'sj_retry_dead_letter',
'COLUMN', N'scene_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'幂等id',
'SCHEMA', N'dbo',
@ -505,7 +521,9 @@ CREATE TABLE sj_retry
id bigint NOT NULL PRIMARY KEY IDENTITY,
namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
group_name nvarchar(64) NOT NULL,
group_id bigint NOT NULL,
scene_name nvarchar(64) NOT NULL,
scene_id bigint NOT NULL,
idempotent_id nvarchar(64) NOT NULL,
biz_no nvarchar(64) NOT NULL DEFAULT '',
executor_name nvarchar(512) NOT NULL DEFAULT '',
@ -523,20 +541,16 @@ CREATE TABLE sj_retry
)
GO
CREATE UNIQUE INDEX uk_sj_retry_01 ON sj_retry (namespace_id, group_name, task_type, idempotent_id, deleted)
CREATE UNIQUE INDEX uk_sj_retry_01 ON sj_retry (scene_id, task_type, idempotent_id, deleted)
GO
CREATE INDEX idx_sj_retry_01 ON sj_retry (namespace_id, group_name, scene_name)
CREATE INDEX idx_sj_retry_01 ON sj_retry (biz_no)
GO
CREATE INDEX idx_sj_retry_02 ON sj_retry (namespace_id, group_name, retry_status)
CREATE INDEX idx_sj_retry_02 ON sj_retry (retry_status, bucket_index)
GO
CREATE INDEX idx_sj_retry_03 ON sj_retry (idempotent_id)
CREATE INDEX idx_sj_retry_03 ON sj_retry (parent_id)
GO
CREATE INDEX idx_sj_retry_04 ON sj_retry (biz_no)
GO
CREATE INDEX idx_sj_retry_05 ON sj_retry (parent_id)
GO
CREATE INDEX idx_sj_retry_06 ON sj_retry (create_dt)
CREATE INDEX idx_sj_retry_04 ON sj_retry (create_dt)
GO
EXEC sp_addextendedproperty
@ -560,6 +574,13 @@ EXEC sp_addextendedproperty
'COLUMN', N'group_name'
GO
EXEC sp_addextendedproperty
'MS_Description', N'组Id',
'SCHEMA', N'dbo',
'TABLE', N'sj_retry',
'COLUMN', N'group_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'场景名称',
'SCHEMA', N'dbo',
@ -567,6 +588,13 @@ EXEC sp_addextendedproperty
'COLUMN', N'scene_name'
GO
EXEC sp_addextendedproperty
'MS_Description', N'场景ID',
'SCHEMA', N'dbo',
'TABLE', N'sj_retry',
'COLUMN', N'scene_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'幂等id',
'SCHEMA', N'dbo',

View File

@ -4,6 +4,10 @@
Author: dhb52
pip install simple-ddl-parser
OR install uv and using with command:
uv run --with simple-ddl-parser dbsync.py postgre
"""
import argparse