达梦脚本转PG脚本
达梦脚本转PG脚本
1.DDL脚本
1.1.语句转小写
将所有SQL语句全部转换成小写
1.2.去掉所有双引号
去掉所有SQL语句中的双引号。
注意:不能去掉初始数据中自己的双引号了,例如json数据中自己的双引号。
1.3.primary key语句
1
2
3
4
5
6
7
8
9
10
11
12
CREATE TABLE "UTILITY_SYSTEM_CONFIG"
(
"ID" VARCHAR(36) NOT NULL,
"NAME" VARCHAR(100) NOT NULL,
"VALUE" VARCHAR(200) NULL,
"DEFAULT_VALUE" VARCHAR(200) NULL,
"CREATE_USER" VARCHAR(36) NULL,
"CREATE_TIME" TIMESTAMP(6) NULL,
"UPDATE_USER" VARCHAR(36) NULL,
"UPDATE_TIME" TIMESTAMP(6) NULL,
CLUSTER PRIMARY KEY("ID") ENABLE
);
CLUSTER PRIMARY KEY(“ID”) ENABLE要改为primary key (id)
1.4.Clob数据类型
Clob数据类型要改为text类型
1.5.primary key的唯一约束
1
2
ALTER TABLE "SECURITY_USER"
ADD CONSTRAINT PRIMARY KEY ("ID");
要改为:
1
2
alter table security_user
add constraint security_user_pkey primary key (id);
1.6.新增字段语句
1
2
ADD COLUMN
ALTER TABLE SECURITY_LOG ADD COLUMN(MODULE VARCHAR(100));
要改为:
1
alter table security_log add column module varchar(100);
1.7.修改字段名称语句
1
2
RENAME
ALTER TABLE SECURITY_LOG ALTER COLUMN TOTAL_MILLIS RENAME TO COST_TIME;
要改为:
1
alter table security_log rename column total_millis to cost_time;
1.8.新增主键语句
1
2
ALTER TABLE "UTILITY_MY_DATASOURCE"
ADD CONSTRAINT PRIMARY KEY ("ID") ENABLE;
要改为:
1
2
alter table utility_my_datasource
add constraint utility_my_datasource_pkey primary key (id);
1.9.修改字段类型语句
1
ALTER TABLE "SECURITY_ORGANIZATION_USER_REL" MODIFY "UPDATE_USER" VARCHAR (36) NULL;
要改为:
1
alter table security_organization_user_rel alter column update_user type varchar (36);
如果要去掉null限制:
1
alter table utility_attachment alter column location drop not null;
2.DML脚本
2.1.去掉所有双引号
去掉所有SQL语句中的双引号。
注意:不要去掉初始数据中自己的双引号了,例如json数据中自己的双引号。
2.2.语句转小写
不能全部语句转小写,因为DML中有很多初始数据,数据本身的大小写格式不能改变。只能将表名称,字段名称和SQL关键字转为小写。
1
2
3
4
5
INSERT INTO "SECURITY_APP"("ID", "NAME", "TYPE", "PERMISSION_TYPE", "CODE", "URL", "STATUS", "REMARK", "CREATE_USER",
"CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "VERSION", "ATTACHMENT", "COMPANY", "DEVELOPER",
"DEVELOPER_CONTACT", "ICON", "CONTACT", "PREVIEW", "CONTENT", "SORT", "DEFAULT_FLAG")
VALUES ('8d2d133ba8a51d385b1befa1e7a5ddf8', '后台管理系统', 'admin', 'default', 'adminApp', null, 'active', null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, 1);
要改为:
1
2
3
4
5
insert into security_app(id, name, type, permission_type, code, url, status, remark, create_user,
create_time, update_user, update_time, version, attachment, company, developer,
developer_contact, icon, contact, preview, content, sort, default_flag)
values ('8d2d133ba8a51d385b1befa1e7a5ddf8', '后台管理系统', 'admin', 'default', 'adminApp', null, 'active', null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, 1);
本文由作者按照
CC BY 4.0
进行授权