Midware部署指南v3.2
1.1midware-auth部署
midware-auth服务jar名称:nexus-midware-auth.jar
启动脚本
echo 'start midware-auth'
cd `pwd`
kill -9 `ps -ef |grep nexus-midware-auth |grep -v grep|awk '{print $2}'`
nohup java -Xms512m -Xmx1024m $SKYWORKING_OPTS -jar ./nexus-midware-auth.jar --spring.profiles.active=dev --spring.cloud.nacos.config.group=prod --spring.cloud.nacos.discovery.group=prod --NACOS_NAMESPACE=af3daac0-776d-4fbe-8c03-7ad63d59c6c7 --NACOS_HOST=10.25.19.3 --NACOS_PORT=8848 --NACOS_USERNAME=nacos --NACOS_PASSWORD=nacos -Djava.security.egd=file:/dev/./urandom > nohup.log 2>&1 &
~
~
nacos配置
jasypt:
encryptor:
password: nexus3.0
spring:
redis:
host: ${REDIS_HOST:10.25.19.3}
port: 6379
password: Apexredis777
database: 1
servlet:
multipart:
max-file-size: 100MB
max-request-size: 100MB
cloud:
sentinel:
eager: true
filter:
url-patterns: /**
transport:
dashboard: nexus-midware-sentinel:5020
management:
endpoints:
web:
exposure:
include: '*'
metrics:
enabled: true
prometheus:
enabled: true
metrics:
export:
prometheus:
enabled: true
tags:
application: ${spring.application.name}
feign:
sentinel:
enabled: true
okhttp:
enabled: false
httpclient:
enabled: true
client:
config:
default:
connectTimeout: 100000
readTimeout: 500000
compression:
request:
enabled: true
min-request-size: 8192
response:
enabled: true
ribbon:
ReadTimeout: 500000
ConnectTimeout: 100000
#开启灰度
gray:
rule:
enabled: true
mybatis-plus:
tenant-enable: ture
mapper-locations: classpath:/mapper/*Mapper.xml
global-config:
banner: false
db-config:
id-type: auto
field-strategy: NOT_EMPTY
type-handlers-package: com.chinapex.nexus.common.data.handler
swagger:
title: Nexus Swagger API
license: Powered By Chinaapex
licenseUrl: https://www.chinapex.com/
terms-of-service-url: https://www.chinapex.com/
contact:
email: steven.jiang@chinapex.com
url: https://www.chinapex.com/about.html
authorization:
name: Nexus OAuth
auth-regex: ^.*$
authorization-scope-list:
- scope: server
description: server all
token-url-list:
- http://${GATEWAY_HOST:nexus-midware-gateway}:${GATEWAY_PORT:9999}/auth/oauth/token
security:
oauth2:
client:
access-token-uri: http://${GATEWAY_HOST:nexus-midware-gateway}:${GATEWAY_PORT:9999}/auth/oauth/token
ignore-urls:
- /actuator/**
- /v2/api-docs
- /user/login
- /jobgroup/findByAppNameD
resource:
loadBalanced: true
token-info-uri: http://nexus-midware-auth/oauth/check_token
# Logger Config
logging:
config: classpath:logback-custom.xml
level:
com.chinapex.nexus.midware: debug
# 数据源
spring:
datasource:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: org.postgresql.Driver
username: postgres
password: 123456
url: jdbc:postgresql://10.25.19.2:5432/postgres?currentSchema=nexus_midware&stringtype=unspecified&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
freemarker:
allow-request-override: false
allow-session-override: false
cache: true
charset: UTF-8
check-template-location: true
content-type: text/html
enabled: true
expose-request-attributes: false
expose-session-attributes: false
expose-spring-macro-helpers: true
prefer-file-system-access: false
suffix: .ftl
template-loader-path: classpath:/templates/
dingtalk:
appkey: ding24ctantndd5dtcja
appsecret: VPJM93mFiVwV3XmhL3DMqffQLQg0XFkOaycwdfSjmKlGorMSg0pJURXpuZDu3WcU
corpId: dingd23f3cbb2095d968ee0f45d8e4f7c288
robotCode: ding24ctantndd5dtcja
whiteList:
- wending.wang
- admin
- testAdmin
- patrick
1.2midware-file部署
midware-file服务jar名称:nexus-midware-file.jar
启动脚本
echo 'start midware-file'
cd `pwd`
kill -9 `ps -ef |grep nexus-midware-file |grep -v grep|awk '{print $2}'`
nohup java -Xms512m -Xmx1024m $SKYWORKING_OPTS -jar ./nexus-midware-file.jar --spring.profiles.active=dev --spring.cloud.nacos.config.group=prod --spring.cloud.nacos.discovery.group=prod --NACOS_NAMESPACE=af3daac0-776d-4fbe-8c03-7ad63d59c6c7 --NACOS_HOST=10.25.19.3 --NACOS_PORT=8848 --NACOS_USERNAME=nacos --NACOS_PASSWORD=nacos -Djava.security.egd=file:/dev/./urandom > nohup.log 2>&1 &
~
nacos配置
# Logger Config
logging:
config: classpath:logback-custom.xml
level:
com.chinapex.nexus.midware: debug
## spring security 配置
security:
oauth2:
client:
client-id: ENC(t5LKa4Me+7KxtyZsXuPrzAUjwjgAgeKJ) #midware-file
client-secret: ENC(t5LKa4Me+7KxtyZsXuPrzAUjwjgAgeKJ)
scope: server
ignore-urls:
- /actuator/**
- /v2/api-docs
# 数据源
spring:
servlet:
multipart:
location: /home/hadoop/standard/midware/midware-upms/upload
# 文件系统
oss:
domain: http://{0}.nexus3-pg-dev.cdp.show
endpoint: http://10.25.19.166:9000/
access-key: admin
secret-key: admin@2021
bucket-name: nexus
1.3midware-gateway部署
midware-gateway服务jar名称:nexus-midware-gateway.jar
启动脚本
echo 'start midware-gateway'
cd `pwd`
kill -9 `ps -ef |grep nexus-midware-gateway |grep -v grep|awk '{print $2}'`
nohup java -Xms512m -Xmx1024m $SKYWORKING_OPTS -jar ./nexus-midware-gateway.jar --spring.profiles.active=dev --spring.cloud.nacos.config.group=prod --spring.cloud.nacos.discovery.group=prod --NACOS_NAMESPACE=af3daac0-776d-4fbe-8c03-7ad63d59c6c7 --NACOS_HOST=10.25.19.3 --NACOS_PORT=8848 --NACOS_USERNAME=nacos --NACOS_PASSWORD=nacos -Djava.security.egd=file:/dev/./urandom > nohup.log 2>&1 &
~
nacos配置
logging:
config: classpath:logback-custom.xml
logstash:
destination: 10.25.19.166:4560
level:
com.chinapex.nexus.midware: DEBUG
server:
max-http-header-size: 10485760
security:
encode:
key: 'nexusnexusnexus1'
ignore:
clients:
- test
swagger-providers:
- nexus-midware-auth
- nexus-midware-tx-manager
ribbon:
rule:
gray-enabled: true
aj:
captcha:
waterMark: nexus
cache-type: redis
checkSign:
enabled: true
validateCode:
enabled: true
1.4midware-i18n部署
midware-i18服务jar名称:nexus-midware-i18n.jar
启动脚本
echo 'start midware-i18n'
cd `pwd`
kill -9 `ps -ef |grep nexus-midware-i18n |grep -v grep|awk '{print $2}'`
nohup java -Xms512m -Xmx1024m $SKYWORKING_OPTS -jar ./nexus-midware-i18n.jar --spring.profiles.active=dev --NACOS_NAMESPACE=af3daac0-776d-4fbe-8c03-7ad63d59c6c7 --NACOS_HOST=10.25.19.3 --NACOS_PORT=8848 --NACOS_USERNAME=nacos --NACOS_PASSWORD=nacos --spring.cloud.nacos.config.group=prod --spring.cloud.nacos.discovery.group=prod -Djava.security.egd=file:/dev/./urandom > nohup.log 2>&1 &
~
~
nacos配置
# Logger Config
logging:
config: classpath:logback-custom.xml
logstash:
destination: 10.25.19.166:4560
level:
com.chinapex.nexus.i18n: debug
org.springframework.web: debug
## spring security 配置
security:
oauth2:
client:
client-id: ENC(Q4LtKyWF6V9eWzZClXBkhw==) #i18n
client-secret: ENC(Q4LtKyWF6V9eWzZClXBkhw==)
scope: server
# 数据源
spring:
datasource:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: org.postgresql.Driver
username: ${MYSQL_USER:postgres}
password: ${MYSQL_PWD:123456}
url: jdbc:postgresql://10.25.19.190:5432/nexus?stringtype=unspecified
1.5midware-job-admin部署
midware-job-admin服务jar名称:nexus-midware-job-admin.jar
启动脚本
echo 'start midware-job-admin'
cd `pwd`
kill -9 `ps -ef |grep nexus-midware-job-admin |grep -v grep|awk '{print $2}'`
nohup java -Xms512m -Xmx1024m $SKYWORKING_OPTS -jar ./nexus-midware-job-admin.jar --spring.profiles.active=dev --spring.cloud.nacos.discovery.group=prod --spring.cloud.nacos.config.group=prod --NACOS_NAMESPACE=af3daac0-776d-4fbe-8c03-7ad63d59c6c7 --NACOS_HOST=10.25.19.3 --NACOS_PORT=8848 --NACOS_USERNAME=nacos --NACOS_PASSWORD=nacos -Djava.security.egd=file:/dev/./urandom > nohup.log 2>&1 &
~
~
~
nacos配置
# Logger Config
logging:
config: classpath:logback-custom.xml
level:
com.xxl.job.admin.mapper: debug
security:
oauth2:
client:
client-id: ENC(XjEdbOJUBj/rFGuOBwo6SUxn0XSs9Oz3) #jobadmin
client-secret: ENC(XjEdbOJUBj/rFGuOBwo6SUxn0XSs9Oz3)
scope: server
ignore-urls:
- /actuator/**
- /v2/api-docs
- /api/**
spring:
datasource:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: org.postgresql.Driver
username: ${MYSQL_USER:postgres}
password: ${MYSQL_PWD:123456}
url: jdbc:postgresql://10.25.19.2:5432/postgres?currentSchema=nexus_job&stringtype=unspecified&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
hikari:
auto-commit: true
connection-test-query: SELECT 1
connection-timeout: 10000
idle-timeout: 30000
max-lifetime: 900000
maximum-pool-size: 30
minimum-idle: 10
pool-name: HikariCP
mail:
host: smtp.qiye.aliyun.com
username: services@chinapex.com
password: cPEX@S87ILC2@#$L
port: 25
ssl: false
xxl:
job:
accessToken: ''
i18n: zh_CN
logretentiondays: 30
triggerpool:
fast:
max: 200
slow:
max: 100
# 租户表维护
nexus:
tenant:
column: tenant_id
tables:
- xxl_job_info
- xxl_job_log
1.6midware-tenant部署
midware-tenant服务jar名称:nexus-midware-tenant-api.jar,nexus-midware-tenant-biz.jar
启动脚本
echo 'start midware-tenant'
cd `pwd`
kill -9 `ps -ef |grep nexus-midware-tenant-biz |grep -v grep|awk '{print $2}'`
nohup java -Xms512m -Xmx1024m $SKYWORKING_OPTS -jar ./nexus-midware-tenant-biz.jar --spring.profiles.active=dev --spring.cloud.nacos.config.group=prod --spring.cloud.nacos.discovery.group=prod --NACOS_NAMESPACE=af3daac0-776d-4fbe-8c03-7ad63d59c6c7 --NACOS_HOST=10.25.19.3 --NACOS_PORT=8848 --NACOS_USERNAME=nacos --NACOS_PASSWORD=nacos -Djava.security.egd=file:/dev/./urandom > nohup.log 2>&1 &
nacos配置
# Logger Config
logging:
config: classpath:logback-custom.xml
level:
com.chinapex.nexus.midware: debug
## spring security 配置
security:
oauth2:
client:
client-id: ENC(kNHxf5cAqyP0+sCocQtXmtC6tO2kjVjF) #midware-tenant
client-secret: ENC(kNHxf5cAqyP0+sCocQtXmtC6tO2kjVjF)
scope: server
ignore-urls:
- /actuator/**
- /v2/api-docs
# 数据源
spring:
datasource:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: org.postgresql.Driver
username: ${MYSQL_USER:postgres}
password: ${MYSQL_PWD:123456}
url: jdbc:postgresql://10.25.19.2:5432/postgres?currentSchema=nexus_midware&stringtype=unspecified&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
tenant:
domain: 'nexus3.chinapex.com.cn'
1.7midware-upms部署
midware-upms服务jar名称:nexus-midware-upms-api.jar,nexus-midware-upms-biz.jar
启动脚本
cd `pwd`
kill -9 `ps -ef |grep nexus-midware-upms-biz |grep -v grep|awk '{print $2}'`
nohup java -Xms512m -Xmx1024m $SKYWORKING_OPTS -jar ./nexus-midware-upms-biz.jar --spring.profiles.active=dev --NACOS_NAMESPACE=af3daac0-776d-4fbe-8c03-7ad63d59c6c7 --NACOS_HOST=10.25.19.3 --NACOS_PORT=8848 --NACOS_USERNAME=nacos --NACOS_PASSWORD=nacos --spring.cloud.nacos.config.group=prod --spring.cloud.nacos.discovery.group=prod -Djava.security.egd=file:/dev/./urandom > nohup.log 2>&1 &
~
nacos配置
# Logger Config
logging:
config: classpath:logback-custom.xml
level:
com.chinapex.nexus.midware: debug
## spring security 配置
security:
oauth2:
client:
client-id: ENC(1mGRz22aeJPbeFLB4L9NHg==) #upms
client-secret: ENC(1mGRz22aeJPbeFLB4L9NHg==)
scope: server
ignore-urls:
- /actuator/**
- /v2/api-docs
# 数据源
spring:
servlet:
multipart:
location: /home/hadoop/standard/midware/midware-upms/upload
datasource:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: org.postgresql.Driver
username: ${MYSQL_USER:postgres}
password: ${MYSQL_PWD:123456}
url: jdbc:postgresql://10.25.19.2:5432/postgres?currentSchema=nexus_midware&stringtype=unspecified&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
# 文件系统
oss:
endpoint: http://10.25.19.3:9000/
access-key: minioadmin
secret-key: minioadmin
bucket-name: nexus
# 租户表维护 -1
nexus:
tenant:
column: tenant_id
tables:
- sys_user
- sys_role
- sys_dept
- sys_log
- sys_social_details
- sys_log
- sys_file
- sys_param_conf
- sys_biz_workspace
SQL配置
数据库执行在postgresql, 数据库名称:nexus_midware
create or replace function update_timestamp() returns trigger as
$$
begin
new.update_time = current_timestamp;
return new;
end
$$
language plpgsql;
DROP TABLE IF EXISTS "sys_biz_workspace";
CREATE TABLE sys_biz_workspace (
biz_workspace_id bigserial NOT NULL,
biz_workspace_name varchar(128) NOT NULL,
remark text NULL,
create_id int4 NULL,
create_time timestamp NULL DEFAULT CURRENT_TIMESTAMP,
update_id int4 NULL,
update_time timestamp NULL DEFAULT CURRENT_TIMESTAMP,
tenant_id int4 NOT NULL DEFAULT 0,
del_flag bpchar(1) NULL DEFAULT '0'::bpchar,
PRIMARY KEY (biz_workspace_id)
);
COMMENT ON COLUMN sys_biz_workspace.biz_workspace_id IS '编号';
COMMENT ON COLUMN sys_biz_workspace.biz_workspace_name IS '空间名称';
-- Table Triggers
create trigger t_sysbizworkspace_updatetime before update on sys_biz_workspace for each row execute function update_timestamp();
DROP TABLE IF EXISTS "sys_biz_workspace_user";
CREATE TABLE sys_biz_workspace_user (
biz_workspace_id int4 NOT NULL,
user_id int4 NOT NULL,
is_admin bpchar(1) NULL DEFAULT '0'::bpchar, -- 是否是管理员,0:普通用户,1:项目管理员
PRIMARY KEY (biz_workspace_id, user_id)
);
-- Column comments
COMMENT ON COLUMN sys_biz_workspace_user.is_admin IS '是否是管理员,0:普通用户,1:项目管理员';
DROP TABLE IF EXISTS "sys_dept";
CREATE TABLE "sys_dept" (
"dept_id" bigserial,
"name" varchar(50),
"sort" int4 NOT NULL DEFAULT '0',
"create_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"update_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"del_flag" char(1) NOT NULL DEFAULT '0',
"parent_id" int4,
"tenant_id" int4 NOT NULL DEFAULT '0',
PRIMARY KEY ("dept_id")
);
COMMENT ON COLUMN "sys_dept"."name" IS '部门名称';
COMMENT ON COLUMN "sys_dept"."sort" IS '排序';
COMMENT ON COLUMN "sys_dept"."create_time" IS '创建时间';
COMMENT ON COLUMN "sys_dept"."update_time" IS '修改时间';
COMMENT ON TABLE "sys_dept" IS '部门管理';
create trigger t_sysdept_updatetime before update on "sys_dept" for each row execute procedure update_timestamp();
DROP TABLE IF EXISTS "sys_dept_relation";
CREATE TABLE "sys_dept_relation"
(
"ancestor" int4 NOT NULL,
"descendant" int4 NOT NULL,
CONSTRAINT "uk_sysdeptrelation_ancestordescendant" PRIMARY KEY ("ancestor", "descendant")
);
CREATE INDEX "idx_sysdeptrelation_ancestor" ON "sys_dept_relation" USING btree ("ancestor");
CREATE INDEX "idx_sysdeptrelation_descendant" ON "sys_dept_relation" USING btree ("descendant");
COMMENT ON COLUMN "sys_dept_relation"."ancestor" IS '祖先节点';
COMMENT ON COLUMN "sys_dept_relation"."descendant" IS '后代节点';
COMMENT ON TABLE "sys_dept_relation" IS '部门关系表';
INSERT INTO "sys_dept_relation"("ancestor", "descendant") VALUES (1, 1);
DROP TABLE IF EXISTS "sys_dict";
CREATE TABLE "sys_dict" (
"id" bigserial,
"type" varchar(100),
"description" varchar(100),
"label_desc" text,
"create_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"update_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"remarks" varchar(255),
"system" char(1) NOT NULL DEFAULT '0',
"del_flag" char(1) NOT NULL DEFAULT '0',
PRIMARY KEY ("id")
);
COMMENT ON COLUMN "sys_dict"."id" IS '编号';
COMMENT ON COLUMN "sys_dict"."type" IS '字典类型';
COMMENT ON COLUMN "sys_dict"."description" IS '默认中文描述';
COMMENT ON COLUMN "sys_dict"."label_desc" IS '中英文描述';
COMMENT ON COLUMN "sys_dict"."create_time" IS '创建时间';
COMMENT ON COLUMN "sys_dict"."update_time" IS '更新时间';
COMMENT ON TABLE "sys_dict" IS '字典表';
create trigger t_sysdict_updatetime before update on "sys_dict" for each row execute procedure update_timestamp();
DROP TABLE IF EXISTS "sys_dict_item";
CREATE TABLE "sys_dict_item" (
"id" bigserial,
"dict_id" int4 NOT NULL,
"value" varchar(100),
"label" varchar(100),
"label_desc" text,
"type" varchar(100),
"description" varchar(100),
"sort" int4 NOT NULL DEFAULT '0',
"create_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"update_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"remarks" varchar(255),
"del_flag" char(1) NOT NULL DEFAULT '0',
PRIMARY KEY ("id")
);
CREATE INDEX "idx_sysdictitem_value" ON "sys_dict_item" USING btree ("value");
CREATE INDEX "idx_sysdictitem_label" ON "sys_dict_item" USING btree ("label");
CREATE INDEX "idx_sysdictitem_delflag" ON "sys_dict_item" USING btree ("del_flag");
COMMENT ON COLUMN "sys_dict_item"."id" IS '编号';
COMMENT ON COLUMN "sys_dict_item"."sort" IS '排序(升序)';
COMMENT ON COLUMN "sys_dict_item"."label_desc" IS '字典项中英文显示';
COMMENT ON COLUMN "sys_dict_item"."create_time" IS '创建时间';
COMMENT ON COLUMN "sys_dict_item"."update_time" IS '更新时间';
COMMENT ON TABLE "sys_dict_item" IS '字典项';
create trigger t_sysdictitem_updatetime before update on "sys_dict_item" for each row execute procedure update_timestamp();
DROP TABLE IF EXISTS "sys_file";
CREATE TABLE "sys_file" (
"id" bigserial,
"file_name" varchar(100),
"bucket_name" varchar(200),
"original" varchar(100),
"type" varchar(50),
"file_size" int8,
"create_user" varchar(32),
"create_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"update_user" varchar(32),
"update_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"del_flag" char(1) NOT NULL DEFAULT '0',
"tenant_id" int4 NOT NULL DEFAULT '0',
PRIMARY KEY ("id")
);
COMMENT ON COLUMN "sys_file"."id" IS '编号';
COMMENT ON COLUMN "sys_file"."file_size" IS '文件大小';
COMMENT ON COLUMN "sys_file"."create_time" IS '上传时间';
COMMENT ON COLUMN "sys_file"."update_time" IS '更新时间';
COMMENT ON COLUMN "sys_file"."tenant_id" IS '所属租户';
COMMENT ON TABLE "sys_file" IS '文件管理表';
create trigger t_sysfile_updatetime before update on "sys_file" for each row execute procedure update_timestamp();
DROP TABLE IF EXISTS "sys_log";
CREATE TABLE "sys_log" (
"id" bigserial,
"type" char(1) DEFAULT '0',
"title" varchar(255),
"service_id" varchar(32),
"create_by" varchar(255),
"create_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"update_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"remote_addr" varchar(255),
"user_agent" varchar(1000),
"request_uri" varchar(255),
"method" varchar(10),
"params" text,
"time" text,
"del_flag" char(1) NOT NULL DEFAULT '0',
"exception" text,
"tenant_id" int4 NOT NULL DEFAULT '0',
PRIMARY KEY ("id")
);
CREATE INDEX "idx_syslog_createby" ON "sys_log" USING btree ("create_by");
CREATE INDEX "idx_syslog_requesturi" ON "sys_log" USING btree ("request_uri");
CREATE INDEX "idx_syslog_type" ON "sys_log" USING btree ("type");
CREATE INDEX "idx_syslog_createtime" ON "sys_log" USING btree ("create_time");
COMMENT ON COLUMN "sys_log"."id" IS '编号';
COMMENT ON COLUMN "sys_log"."create_time" IS '创建时间';
COMMENT ON COLUMN "sys_log"."update_time" IS '更新时间';
COMMENT ON COLUMN "sys_log"."time" IS '执行时间';
COMMENT ON COLUMN "sys_log"."tenant_id" IS '所属租户';
COMMENT ON TABLE "sys_log" IS '日志表';
DROP TABLE IF EXISTS "sys_menu";
CREATE TABLE "sys_menu" (
"menu_id" bigserial,
"name" varchar(32),
"menu_code" varchar(128),
"permission" varchar(128),
"path" varchar(128),
"menu_key" varchar(128) NOT NULL,
"parent_id" varchar(128) NOT NULL,
"icon" varchar(32),
"sort" int4 DEFAULT '1',
"keep_alive" char(1) DEFAULT '0',
"type" char(1) DEFAULT '0',
"create_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"update_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"del_flag" char(1) NOT NULL DEFAULT '0',
"menu_category" varchar(32) NULL,
PRIMARY KEY ("menu_id")
);
COMMENT ON COLUMN "sys_menu"."menu_id" IS '菜单ID';
COMMENT ON COLUMN "sys_menu"."menu_code" IS '菜单国际化编码';
COMMENT ON COLUMN "sys_menu"."menu_key" IS '菜单唯一编号';
COMMENT ON COLUMN "sys_menu"."parent_id" IS '父菜单编号';
COMMENT ON COLUMN "sys_menu"."icon" IS '图标';
COMMENT ON COLUMN "sys_menu"."sort" IS '排序值';
COMMENT ON COLUMN "sys_menu"."create_time" IS '创建时间';
COMMENT ON COLUMN "sys_menu"."update_time" IS '更新时间';
COMMENT ON COLUMN "sys_menu"."menu_category" IS '菜单大类,100:系统级,200:项目空间级,300:业务级';
COMMENT ON TABLE "sys_menu" IS '菜单权限表';
create trigger t_sysmenu_updatetime before update on "sys_menu" for each row execute procedure update_timestamp();
DROP TABLE IF EXISTS "sys_oauth_client_details";
CREATE TABLE "sys_oauth_client_details"(
"id" bigserial,
"client_id" varchar(32) NOT NULL,
"resource_ids" varchar(256),
"client_secret" varchar(256),
"scope" varchar(256),
"authorized_grant_types" varchar(256),
"web_server_redirect_uri" varchar(256),
"authorities" varchar(256),
"access_token_validity" int4,
"refresh_token_validity" int4,
"additional_information" varchar(4096),
"autoapprove" varchar(256),
"del_flag" char(1) NOT NULL DEFAULT '0',
PRIMARY KEY ("id")
);
COMMENT ON COLUMN "sys_oauth_client_details"."id" IS 'ID';
COMMENT ON TABLE "sys_oauth_client_details" IS '终端信息表';
DROP TABLE IF EXISTS "sys_public_param";
CREATE TABLE "sys_public_param" (
"public_id" bigserial,
"public_name" varchar(128),
"public_key" varchar(128),
"public_value" varchar(1500),
"status" char(1) DEFAULT '0',
"validate_code" varchar(64),
"create_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"update_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"public_type" char(1) DEFAULT '0',
"system" char(1) DEFAULT '0',
"del_flag" char(1) DEFAULT '0',
PRIMARY KEY ("public_id")
);
COMMENT ON COLUMN "sys_public_param"."public_id" IS '编号';
COMMENT ON COLUMN "sys_public_param"."create_time" IS '创建时间';
COMMENT ON COLUMN "sys_public_param"."update_time" IS '修改时间';
COMMENT ON TABLE "sys_public_param" IS '公共参数配置表';
create trigger t_syspublicparam_updatetime before update on "sys_public_param" for each row execute procedure update_timestamp();
DROP TABLE IF EXISTS "sys_role";
CREATE TABLE "sys_role" (
"role_id" bigserial,
"role_name" varchar(64),
"role_code" varchar(64),
"role_desc" varchar(255),
"role_type" char(1) NOT NULL DEFAULT '0',
"create_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"update_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"del_flag" char(1) NOT NULL DEFAULT '0',
"tenant_id" int4 NOT NULL DEFAULT '0',
PRIMARY KEY ("role_id")
);
CREATE INDEX "idx_role_rolecode" ON "sys_role" USING btree ("role_code");
COMMENT ON COLUMN "sys_role"."role_type" IS '角色类型 0:普通角色,1:超级管理员角色,2:租户管理员角色';
COMMENT ON TABLE "sys_role" IS '系统角色表';
create trigger t_sysrole_updatetime before update on "sys_role" for each row execute procedure update_timestamp();
DROP TABLE IF EXISTS "sys_role_menu";
CREATE TABLE "sys_role_menu" (
"role_id" int4 NOT NULL,
"menu_id" int4 NOT NULL,
"tenant_id" int4 NOT NULL DEFAULT '0',
CONSTRAINT "uk_sysrolemenu_roleidmenuid" PRIMARY KEY ("role_id", "menu_id")
);
COMMENT ON COLUMN "sys_role_menu"."role_id" IS '角色ID';
COMMENT ON COLUMN "sys_role_menu"."menu_id" IS '菜单ID';
COMMENT ON TABLE "sys_role_menu" IS '角色菜单表';
DROP TABLE IF EXISTS "sys_route_conf";
CREATE TABLE "sys_route_conf" (
"id" bigserial,
"route_name" varchar(64),
"route_id" varchar(64),
"predicates" text,
"filters" text,
"uri" varchar(64),
"order" int4 DEFAULT '0',
"create_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"update_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"del_flag" char(1) NOT NULL DEFAULT '0',
PRIMARY KEY ("id")
);
COMMENT ON COLUMN "sys_route_conf"."id" IS '主键';
COMMENT ON COLUMN "sys_route_conf"."predicates" IS '断言';
COMMENT ON COLUMN "sys_route_conf"."filters" IS '过滤器';
COMMENT ON COLUMN "sys_route_conf"."order" IS '排序';
COMMENT ON COLUMN "sys_route_conf"."create_time" IS '创建时间';
COMMENT ON COLUMN "sys_route_conf"."update_time" IS '修改时间';
COMMENT ON TABLE "sys_route_conf" IS '路由配置表';
create trigger t_sysrouteconf_updatetime before update on "sys_route_conf" for each row execute procedure update_timestamp();
DROP TABLE IF EXISTS "sys_social_details";
CREATE TABLE "sys_social_details" (
"id" bigserial,
"type" varchar(16),
"remark" varchar(64),
"app_id" varchar(64),
"app_secret" varchar(64),
"redirect_url" varchar(128),
"create_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"update_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"del_flag" char(1) NOT NULL DEFAULT '0',
"tenant_id" int4 NOT NULL DEFAULT '0',
PRIMARY KEY ("id")
);
COMMENT ON COLUMN "sys_social_details"."id" IS '主鍵';
COMMENT ON COLUMN "sys_social_details"."create_time" IS '创建时间';
COMMENT ON COLUMN "sys_social_details"."update_time" IS '更新时间';
COMMENT ON COLUMN "sys_social_details"."tenant_id" IS '所属租户';
COMMENT ON TABLE "sys_social_details" IS '系统社交登录账号表';
-- INSERT INTO "sys_social_details"("type", "remark", "app_id", "app_secret", "redirect_url", "create_time", "update_time", "del_flag", "tenant_id") VALUES ('WX', '微信互联参数', 'wxd1678d3f83b1d83a', '6ddb043f94da5d2172926abe8533504f', 'daoweicloud.com', '2018-08-16 14:24:25', '2019-03-02 09:43:13', '0', 1);
-- INSERT INTO "sys_social_details"("type", "remark", "app_id", "app_secret", "redirect_url", "create_time", "update_time", "del_flag", "tenant_id") VALUES ('GITEE', '码云登录', '8fc54e0e76e7842cf767c3ae3b9fdc48c03cefed27aa565ff7b2a39d142d9892', 'c544469ce78a67d9fcf9b28cd9f310b73f5cbc46a1b993e0802ad61517deb221', 'http://gitee.huaxiadaowei.com/#/authredirect', '2019-06-28 09:59:55', '2019-06-28 09:59:55', '0', 1);
-- INSERT INTO "sys_social_details"("type", "remark", "app_id", "app_secret", "redirect_url", "create_time", "update_time", "del_flag", "tenant_id") VALUES ('OSC', '开源中国', 'neIIqlwGsjsfsA6uxNqD', 'aOPhRuOOJNXV1x7JrTJ9qIyRCAPXoO0l', 'http://gitee.huaxiadaowei.com/#/authredirect', '2019-06-28 10:05:37', '2019-06-28 10:05:37', '0', 1);
-- INSERT INTO "sys_social_details"("type", "remark", "app_id", "app_secret", "redirect_url", "create_time", "update_time", "del_flag", "tenant_id") VALUES ('MINI', '小程序', 'wx6832be859d0e1cf5', '08036aef810dcb2f8ae31510910ba631', NULL, '2019-11-02 22:08:03', '2019-11-02 22:10:53', '0', 1);
DROP TABLE IF EXISTS "sys_user";
CREATE TABLE "sys_user" (
"user_id" bigserial,
"username" varchar(64),
"nick_name" varchar(64),
"password" varchar(255),
"salt" varchar(255),
"phone" varchar(20),
"email" varchar(128),
"avatar" varchar(255),
"dept_id" int4,
"dept_name" varchar(255),
"start_time" timestamp,
"end_time" timestamp,
"user_type" char(1) NOT NULL DEFAULT '0',
"create_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"update_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"lock_flag" char(1) NOT NULL DEFAULT '0',
"del_flag" char(1) NOT NULL DEFAULT '0',
"wx_openid" varchar(32),
"mini_openid" varchar(32),
"qq_openid" varchar(32),
"gitee_login" varchar(100),
"osc_id" varchar(100),
"tenant_id" int4 NOT NULL DEFAULT '0',
PRIMARY KEY ("user_id")
);
CREATE INDEX "idx_user_wxopenid" ON "sys_user" USING btree ("wx_openid");
CREATE INDEX "idx_user_qqopenid" ON "sys_user" USING btree ("qq_openid");
CREATE INDEX "idx_user_username" ON "sys_user" USING btree ("username");
COMMENT ON COLUMN "sys_user"."user_id" IS '主键ID';
COMMENT ON COLUMN "sys_user"."dept_id" IS '部门ID';
COMMENT ON COLUMN "sys_user"."dept_name" IS '部门名称';
COMMENT ON COLUMN "sys_user"."user_type" IS '用户类型 0:普通用户,1:超级管理员,2:租户管理员';
COMMENT ON COLUMN "sys_user"."create_time" IS '创建时间';
COMMENT ON COLUMN "sys_user"."update_time" IS '修改时间';
COMMENT ON COLUMN "sys_user"."wx_openid" IS '微信登录openId';
COMMENT ON COLUMN "sys_user"."mini_openid" IS '小程序openId';
COMMENT ON COLUMN "sys_user"."qq_openid" IS 'QQ openId';
COMMENT ON COLUMN "sys_user"."gitee_login" IS '码云 标识';
COMMENT ON COLUMN "sys_user"."osc_id" IS '开源中国 标识';
COMMENT ON COLUMN "sys_user"."tenant_id" IS '所属租户';
COMMENT ON TABLE "sys_user" IS '用户表';
create trigger t_sysuser_updatetime before update on "sys_user" for each row execute procedure update_timestamp();
DROP TABLE IF EXISTS "sys_user_role";
CREATE TABLE "sys_user_role" (
"user_id" int4 NOT NULL,
"role_id" int4 NOT NULL,
CONSTRAINT "uk_sysuserrole_useridroleid" PRIMARY KEY ("user_id", "role_id")
);
COMMENT ON COLUMN "sys_user_role"."user_id" IS '用户ID';
COMMENT ON COLUMN "sys_user_role"."role_id" IS '角色ID';
COMMENT ON TABLE "sys_user_role" IS '用户角色表';
DROP TABLE IF EXISTS "sys_message";
CREATE TABLE "sys_message" (
"id" bigserial,
"project" varchar(64) NOT NULL,
"code" varchar(128) NOT NULL,
"message" text NOT NULL,
"module" varchar(64) ,
"message_type" varchar(32) ,
"message_desc" jsonb,
"create_id" int4,
"create_name" varchar(64) ,
"create_time" timestamp(6) DEFAULT CURRENT_TIMESTAMP,
"update_id" int4,
"update_name" varchar(64) ,
"update_time" timestamp(6) DEFAULT CURRENT_TIMESTAMP,
"del_flag" char(1) NOT NULL DEFAULT '0',
PRIMARY KEY ("id")
);
CREATE INDEX "idx_message_code" ON "sys_message" USING btree ("code");
CREATE INDEX "idx_message_project" ON "sys_message" USING btree ("project");
CREATE INDEX "idx_message_module" ON "sys_message" USING btree ("module");
create trigger t_message_updatetime before update on "sys_message" for each row execute procedure update_timestamp();
DROP TABLE IF EXISTS "sys_product_line";
CREATE TABLE "sys_product_line" (
"id" bigserial,
"product_name" VARCHAR (128),
"product_code" VARCHAR (128),
"sort" int4 DEFAULT '1',
"is_default" varchar(2),
"create_id" int4,
"create_name" varchar(64) ,
"create_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"update_id" int4,
"update_name" varchar(64) ,
"update_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"del_flag" char(1) DEFAULT '0',
PRIMARY KEY ("id")
);
COMMENT ON TABLE "sys_product_line" IS '产品线表';
COMMENT ON COLUMN "sys_product_line"."product_name" IS '产品线名称';
COMMENT ON COLUMN "sys_product_line"."product_code" IS '产品线编号';
COMMENT ON COLUMN "sys_product_line"."sort" IS '排序';
COMMENT ON COLUMN "sys_product_line"."is_default" IS '是否默认选中 0: 不选中,1:选中';
COMMENT ON COLUMN "sys_product_line"."create_id" IS '创建人ID';
COMMENT ON COLUMN "sys_product_line"."create_name" IS '创建人名称';
COMMENT ON COLUMN "sys_product_line"."create_time" IS '创建时间';
COMMENT ON COLUMN "sys_product_line"."update_id" IS '更新人ID';
COMMENT ON COLUMN "sys_product_line"."update_name" IS '更新人名称';
COMMENT ON COLUMN "sys_product_line"."update_time" IS '更新人时间';
COMMENT ON COLUMN "sys_product_line"."del_flag" IS '删除标记 0 未删除,1 删除';
create trigger t_productline_updatetime before update on "sys_product_line" for each row execute procedure update_timestamp();
DROP TABLE IF EXISTS "sys_product_line_menu";
CREATE TABLE "sys_product_line_menu" (
"product_id" int4 NOT NULL,
"menu_id" int4 NOT NULL,
CONSTRAINT "uk_sysproductline_productidmenuid" PRIMARY KEY ("product_id", "menu_id")
);
COMMENT ON TABLE "sys_product_line_menu" IS '产品线菜单关联表';
DROP TABLE IF EXISTS "sys_param_conf";
CREATE TABLE "sys_param_conf"(
"conf_id" bigserial,
"conf_name" varchar(128),
"conf_key" varchar(128),
"conf_value" varchar(128),
"conf_type" char(2) DEFAULT '1',
"img_width" int4,
"img_height" int4,
"sort" int4 DEFAULT '1',
"create_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"update_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"tenant_id" int4 NOT NULL DEFAULT 0,
"del_flag" char(1) DEFAULT '0',
PRIMARY KEY ("conf_id")
);
COMMENT ON COLUMN "sys_param_conf"."conf_id" IS '编号';
COMMENT ON COLUMN "sys_param_conf"."conf_type" IS '配置类型 1:文案,2:图片';
COMMENT ON COLUMN "sys_param_conf"."img_height" IS '图片高度';
COMMENT ON COLUMN "sys_param_conf"."img_width" IS '图片宽度';
COMMENT ON COLUMN "sys_param_conf"."create_time" IS '创建时间';
COMMENT ON COLUMN "sys_param_conf"."update_time" IS '修改时间';
COMMENT ON TABLE "sys_param_conf" IS '系统参数配置表';
create trigger t_sysparamconf_updatetime before update on "sys_param_conf" for each row execute procedure update_timestamp();
DROP TABLE IF EXISTS "tenant_info";
CREATE TABLE "tenant_info" (
"id" bigserial,
"name" varchar(128) NOT NULL,
"code" varchar(64) NOT NULL,
"tenant_domain" varchar(128) not null,
"industry" varchar(64) ,
"business_license_code" varchar(64) ,
"business_license_img" varchar(64) ,
"balance" varchar(64) ,
"start_time" timestamp,
"end_time" timestamp,
"status" char(1) NOT NULL DEFAULT '0',
"create_id" int4,
"create_name" varchar(64) ,
"create_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"update_id" int4,
"update_name" varchar(64) ,
"update_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"del_flag" char(1) DEFAULT '0',
PRIMARY KEY ("id")
);
COMMENT ON TABLE "tenant_info" IS '租户信息表';
COMMENT ON COLUMN "tenant_info"."name" IS '企业名称';
COMMENT ON COLUMN "tenant_info"."code" IS '企业编号';
COMMENT ON COLUMN "tenant_info"."tenant_domain" IS '企业域名';
COMMENT ON COLUMN "tenant_info"."industry" IS '企业行业';
COMMENT ON COLUMN "tenant_info"."business_license_code" IS '营业执照编号';
COMMENT ON COLUMN "tenant_info"."business_license_img" IS '营业执照图片';
COMMENT ON COLUMN "tenant_info"."balance" IS '余额';
COMMENT ON COLUMN "tenant_info"."start_time" IS '账号有效期开始时间';
COMMENT ON COLUMN "tenant_info"."end_time" IS '账号有效期结束时间';
COMMENT ON COLUMN "tenant_info"."status" IS '状态 0 停用,1 启用';
COMMENT ON COLUMN "tenant_info"."create_id" IS '创建人ID';
COMMENT ON COLUMN "tenant_info"."create_name" IS '创建人名称';
COMMENT ON COLUMN "tenant_info"."create_time" IS '创建时间';
COMMENT ON COLUMN "tenant_info"."update_id" IS '更新人ID';
COMMENT ON COLUMN "tenant_info"."update_name" IS '更新人名称';
COMMENT ON COLUMN "tenant_info"."update_time" IS '更新人时间';
COMMENT ON COLUMN "tenant_info"."del_flag" IS '删除标记 0 未删除,1 删除';
create trigger t_tenantinfo_updatetime before update on "tenant_info" for each row execute procedure update_timestamp();
INSERT INTO "tenant_info"("name", "code", "tenant_domain", "balance","start_time", "end_time", "status", "del_flag") VALUES ('创络(上海)数据科技有限公司', 'apex','apex', '0', '2019-05-15 00:00:00', '2029-05-15 00:00:00', '0', '0');
DROP TABLE IF EXISTS "tenant_product";
CREATE TABLE "tenant_product" (
"tenant_id" int8 NOT NULL,
"product_id" int8 NOT NULL,
CONSTRAINT "uk_tenantproduct_tenantidproductid" PRIMARY KEY ("tenant_id", "product_id")
);
COMMENT ON COLUMN "tenant_product"."tenant_id" IS '租户ID';
COMMENT ON COLUMN "tenant_product"."product_id" IS '产品线ID';
COMMENT ON TABLE "tenant_product" IS '租户产品线关系表';
DROP TABLE IF EXISTS "tenant_contract";
CREATE TABLE "tenant_contract" (
"id" bigserial,
"tenant_id" int8 NOT NULL,
"contract_code" VARCHAR (128),
"contract_data" VARCHAR (32),
"contract_amount" VARCHAR (16),
"contract_doc" VARCHAR (128),
"create_id" int4,
"create_name" varchar(64) ,
"create_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"update_id" int4,
"update_name" varchar(64) ,
"update_time" timestamp DEFAULT CURRENT_TIMESTAMP,
"del_flag" char(1) DEFAULT '0',
PRIMARY KEY ("id")
);
COMMENT ON TABLE "tenant_contract" IS '租户合同信息表';
COMMENT ON COLUMN "tenant_contract"."tenant_id" IS '租户ID';
COMMENT ON COLUMN "tenant_contract"."contract_code" IS '合同编号';
COMMENT ON COLUMN "tenant_contract"."contract_data" IS '合同时间';
COMMENT ON COLUMN "tenant_contract"."contract_amount" IS '合同金额';
COMMENT ON COLUMN "tenant_contract"."contract_doc" IS '合同文档';
COMMENT ON COLUMN "tenant_contract"."create_id" IS '创建人ID';
COMMENT ON COLUMN "tenant_contract"."create_name" IS '创建人名称';
COMMENT ON COLUMN "tenant_contract"."create_time" IS '创建时间';
COMMENT ON COLUMN "tenant_contract"."update_id" IS '更新人ID';
COMMENT ON COLUMN "tenant_contract"."update_name" IS '更新人名称';
COMMENT ON COLUMN "tenant_contract"."update_time" IS '更新人时间';
COMMENT ON COLUMN "tenant_contract"."del_flag" IS '删除标记 0 未删除,1 删除';
create trigger t_tenantcontract_updatetime before update on "tenant_contract" for each row execute procedure update_timestamp();
DROP TABLE IF EXISTS "tenant_db_info";
CREATE TABLE "tenant_db_info" (
"id" bigserial,
"tenant_id" int8 NOT NULL,
"org_code" VARCHAR (32),
"ods_db" VARCHAR (32) NOT NULL,
"dwd_db" VARCHAR (32) NOT NULL,
"dws_db" VARCHAR (32) NOT NULL,
"dm_db" VARCHAR (32) NOT NULL,
"label_db" VARCHAR (32) NOT NULL,
"create_time" TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
"update_time" TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY ("id")
);
COMMENT ON COLUMN "tenant_db_info"."id" IS '编号';
COMMENT ON COLUMN "tenant_db_info"."org_code" IS '组织code';
COMMENT ON COLUMN "tenant_db_info"."ods_db" IS 'ods库名,orgcode_ods';
COMMENT ON COLUMN "tenant_db_info"."dwd_db" IS 'dwd库名,orgcode_dwd';
COMMENT ON COLUMN "tenant_db_info"."dws_db" IS 'dws库名,orgcode_dws';
COMMENT ON COLUMN "tenant_db_info"."dm_db" IS 'dm库名,orgcode_dm';
COMMENT ON COLUMN "tenant_db_info"."label_db" IS '标签库名,orgcode_label';
COMMENT ON COLUMN "tenant_db_info"."create_time" IS '创建时间';
COMMENT ON COLUMN "tenant_db_info"."update_time" IS '更新时间';
COMMENT ON TABLE "tenant_db_info" IS '组织对应各种库信息表';
create trigger t_tenantdbinfo_updatetime before update on "tenant_db_info" for each row execute procedure update_timestamp();
INSERT INTO tenant_db_info (tenant_id, org_code, ods_db, dwd_db, dws_db, dm_db, label_db, create_time, update_time) VALUES(1, 'apex', 'apex_ods', 'apex_dwd', 'apex_dws', 'apex_dm', 'apex_label', '2023-09-11 15:45:51.586', '2023-09-11 15:45:51.586');
DROP TABLE IF EXISTS "tenant_datasource";
CREATE TABLE "tenant_datasource" (
"id" bigserial,
"tenant_id" int8 NOT NULL,
"tenant_code" varchar(225) NOT NULL,
"name" varchar(255) NOT NULL,
"application_name" varchar(255) NOT NULL,
"driver_class_name" varchar(255) NOT NULL,
"password" varchar(45),
"jdbc_url" varchar(600),
"username" varchar(45),
"schema" varchar(45),
"data_isolation_mode" int4,
"create_time" TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
"update_time" TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY ("id")
);
COMMENT ON TABLE "tenant_datasource" IS '