diff --git a/README.md b/README.md index b47be91..3c0fe31 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,7 @@ Ruoyi-Flex实行前后端分离仓库,本项目是java后端部分,前端项 24. 实现乐观锁功能。 25. 实现逻辑删除功能。 26. 启用JAVA21虚拟线程、分代ZGC功能。 -27. 实现API接口加密功能。 +27. 实现API接口加密功能,密码使用密文传输。 ## 5、演示图 diff --git a/script/sql/mysql/update.sql b/script/sql/mysql/updateV4.1.8ToV5.0.0.sql similarity index 100% rename from script/sql/mysql/update.sql rename to script/sql/mysql/updateV4.1.8ToV5.0.0.sql diff --git a/script/sql/postgresql/postgresql-ruoyiflex-V5.0.0.sql b/script/sql/postgresql/postgresql-ruoyiflex-V5.0.0.sql index e82cab4..fc27f3a 100644 --- a/script/sql/postgresql/postgresql-ruoyiflex-V5.0.0.sql +++ b/script/sql/postgresql/postgresql-ruoyiflex-V5.0.0.sql @@ -75,7 +75,7 @@ comment on column demo_goods."type" is '商品种类'; drop table if exists gen_table; create table if not exists gen_table ( - table_id bigint NOT NULL, + table_id bigint NOT NULL, table_name varchar(200) default ''::varchar, table_comment varchar(500) default ''::varchar, sub_table_name varchar(64) default ''::varchar, @@ -402,11 +402,11 @@ CREATE TABLE IF NOT EXISTS "pj_instance_info" ( "gmt_create" TIMESTAMP NULL DEFAULT NULL, "gmt_modified" TIMESTAMP NULL DEFAULT NULL, "instance_id" BIGINT NULL DEFAULT NULL, - "instance_params" INTEGER NULL DEFAULT NULL, + "instance_params" text NULL DEFAULT NULL, "job_id" BIGINT NULL DEFAULT NULL, - "job_params" INTEGER NULL DEFAULT NULL, + "job_params" text NULL DEFAULT NULL, "last_report_time" BIGINT NULL DEFAULT NULL, - "result" INTEGER NULL DEFAULT NULL, + "result" text NULL DEFAULT NULL, "running_times" BIGINT NULL DEFAULT NULL, "status" INTEGER NULL DEFAULT NULL, "task_tracker_address" VARCHAR(255) NULL DEFAULT NULL, @@ -439,7 +439,7 @@ CREATE TABLE IF NOT EXISTS "pj_job_info" ( "instance_time_limit" BIGINT NULL DEFAULT NULL, "job_description" VARCHAR(255) NULL DEFAULT NULL, "job_name" VARCHAR(255) NULL DEFAULT NULL, - "job_params" INTEGER NULL DEFAULT NULL, + "job_params" text NULL DEFAULT NULL, "lifecycle" VARCHAR(255) NULL DEFAULT NULL, "log_config" VARCHAR(255) NULL DEFAULT NULL, "max_instance_num" INTEGER NULL DEFAULT NULL, @@ -643,7 +643,7 @@ drop table if exists sys_config; create table if not exists sys_config ( config_id bigint NOT NULL, - "tenant_id" BIGINT NOT NULL DEFAULT '0', + "tenant_id" BIGINT NOT NULL DEFAULT '0', config_name varchar(100) default ''::varchar, config_key varchar(100) default ''::varchar, config_value varchar(500) default ''::varchar, @@ -725,7 +725,7 @@ drop table if exists sys_dict_data; create table if not exists sys_dict_data ( dict_code bigint NOT NULL, - "tenant_id" BIGINT NOT NULL DEFAULT '0', + "tenant_id" BIGINT NOT NULL DEFAULT '0', dict_sort INTEGER default 0, dict_label varchar(100) default ''::varchar, dict_value varchar(100) default ''::varchar, @@ -815,7 +815,7 @@ drop table if exists sys_dict_type; create table if not exists sys_dict_type ( dict_id bigint NOT NULL, - "tenant_id" BIGINT NOT NULL DEFAULT '0', + "tenant_id" BIGINT NOT NULL DEFAULT '0', dict_name varchar(100) default ''::varchar, dict_type varchar(100) default ''::varchar, "version" INTEGER NULL DEFAULT 0, @@ -1096,7 +1096,7 @@ drop table if exists sys_notice; create table if not exists sys_notice ( notice_id bigint NOT NULL, - "tenant_id" BIGINT NOT NULL DEFAULT '0', + "tenant_id" BIGINT NOT NULL DEFAULT '0', notice_title varchar(50) not null, notice_type char not null, notice_content text, @@ -1176,7 +1176,7 @@ drop table if exists sys_oss; create table if not exists sys_oss ( oss_id bigint NOT NULL, - "tenant_id" BIGINT NOT NULL DEFAULT '0', + "tenant_id" BIGINT NOT NULL DEFAULT '0', file_name varchar(255) default ''::varchar not null, original_name varchar(255) default ''::varchar not null, file_suffix varchar(10) default ''::varchar not null, @@ -1208,7 +1208,7 @@ drop table if exists sys_oss_config; create table if not exists sys_oss_config ( oss_config_id bigint NOT NULL, - "tenant_id" BIGINT NOT NULL DEFAULT '0', + "tenant_id" BIGINT NOT NULL DEFAULT '0', config_key varchar(20) default ''::varchar not null, access_key varchar(255) default ''::varchar, secret_key varchar(255) default ''::varchar, @@ -1262,7 +1262,7 @@ drop table if exists sys_post; create table if not exists sys_post ( post_id bigint NOT NULL, - "tenant_id" BIGINT NOT NULL DEFAULT '0', + "tenant_id" BIGINT NOT NULL DEFAULT '0', post_code varchar(64) not null, post_name varchar(50) not null, post_sort INTEGER not null, @@ -1339,7 +1339,7 @@ comment on column sys_role.remark is '备注'; INSERT INTO sys_role VALUES (1,0, '超级管理员角色', 'admin', 1, '1', '1', '1', '0', 0,0, 1, '2023-06-03 21:32:28', 1, NULL, '超级管理员'); - + drop table if exists sys_role_dept; create table if not exists sys_role_dept ( @@ -1363,8 +1363,8 @@ create table if not exists sys_role_menu comment on table sys_role_menu is '角色和菜单关联表'; comment on column sys_role_menu.role_id is '角色ID'; comment on column sys_role_menu.menu_id is '菜单ID'; - --- 租户套餐表 + +-- 租户套餐表 drop table if exists sys_tenant_package; CREATE TABLE "sys_tenant_package" ( "package_id" BIGINT NOT NULL, @@ -1378,7 +1378,7 @@ CREATE TABLE "sys_tenant_package" ( "create_by" BIGINT NULL DEFAULT NULL, "create_time" TIMESTAMP NULL DEFAULT NULL, "update_by" BIGINT NULL DEFAULT NULL, - "update_time" TIMESTAMP NULL DEFAULT NULL, + "update_time" TIMESTAMP NULL DEFAULT NULL, PRIMARY KEY ("package_id") ); comment on table sys_tenant_package is '租户套餐表'; @@ -1397,7 +1397,7 @@ COMMENT ON COLUMN "sys_tenant_package"."update_time" IS '更新时间'; drop table if exists sys_tenant; create table if not exists sys_tenant -( +( tenant_id bigint NOT NULL, contact_user_name varchar(20) default null::varchar, contact_phone varchar(20) default null::varchar, @@ -1469,7 +1469,7 @@ create table if not exists sys_user create_time timestamp, update_by bigint, update_time timestamp, - remark varchar(500) default null::varchar, + remark varchar(500) default null::varchar, constraint "sys_user_pk" primary key (user_id) ); DROP INDEX if exists sys_user_unqindex_tenant_username; @@ -1500,7 +1500,7 @@ comment on column sys_user.remark is '备注'; INSERT INTO sys_user VALUES (1, 0, 1, 'superadmin', '超级管理员', 'sys_user', 'ry@163.com', '15888888888', '1', NULL, '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', 0,0, '0:0:0:0:0:0:0:1', '2023-12-18 10:57:01', 1, '2023-06-03 21:32:28', 1, '2023-12-18 10:57:01', '管理员'); - + drop table if exists sys_user_post; create table if not exists sys_user_post diff --git a/script/sql/postgresql/update.sql b/script/sql/postgresql/update.sql index 6c0121d..9683636 100644 --- a/script/sql/postgresql/update.sql +++ b/script/sql/postgresql/update.sql @@ -1,293 +1,24 @@ ----- 升级 from V4.2.0 to V5.0.0: --- 修正“任务调度”的“任务管理”错误: -UPDATE "public"."pj_job_info" SET "alarm_config"='{"alertThreshold":0,"silenceWindowLen":0,"statisticWindowLen":0}', "log_config"='{"type":1}', "processor_info"='com.ruoyi.job.processors.StandaloneProcessorDemo' WHERE "id"=1; -UPDATE "public"."pj_job_info" SET "alarm_config"='{"alertThreshold":0,"silenceWindowLen":0,"statisticWindowLen":0}', "log_config"='{"type":1}', "processor_info"='com.ruoyi.job.processors.BroadcastProcessorDemo' WHERE "id"=2; -UPDATE "public"."pj_job_info" SET "alarm_config"='{"alertThreshold":0,"silenceWindowLen":0,"statisticWindowLen":0}', "log_config"='{"type":1}', "processor_info"='com.ruoyi.job.processors.MapProcessorDemo' WHERE "id"=3; -UPDATE "public"."pj_job_info" SET "alarm_config"='{"alertThreshold":0,"silenceWindowLen":0,"statisticWindowLen":0}', "log_config"='{"type":1}', "processor_info"='com.ruoyi.job.processors.MapReduceProcessorDemo' WHERE "id"=4; +---- 升级 from V5.0.0 to V5.1.0: --- 修改powerjob的库结构的错误oid类型为text类型; -ALTER TABLE "pj_workflow_info" -ALTER COLUMN "pedag" TYPE TEXT, - ALTER COLUMN "pedag" DROP NOT NULL, - ALTER COLUMN "pedag" DROP DEFAULT; -COMMENT ON COLUMN "pj_workflow_info"."pedag" IS ''; -ALTER TABLE "pj_workflow_instance_info" -ALTER COLUMN "dag" TYPE TEXT, - ALTER COLUMN "dag" DROP NOT NULL, - ALTER COLUMN "dag" DROP DEFAULT; -COMMENT ON COLUMN "pj_workflow_instance_info"."dag" IS ''; -ALTER TABLE "pj_workflow_instance_info" +-- 修正修改PostgreSQL数据库结构:由integer修改为text类型: +ALTER TABLE "pj_instance_info" +ALTER COLUMN "instance_params" TYPE TEXT, + ALTER COLUMN "instance_params" DROP NOT NULL, + ALTER COLUMN "instance_params" DROP DEFAULT; +COMMENT ON COLUMN "pj_instance_info"."instance_params" IS ''; +ALTER TABLE "pj_instance_info" +ALTER COLUMN "job_params" TYPE TEXT, + ALTER COLUMN "job_params" DROP NOT NULL, + ALTER COLUMN "job_params" DROP DEFAULT; +COMMENT ON COLUMN "pj_instance_info"."job_params" IS ''; +ALTER TABLE "pj_instance_info" ALTER COLUMN "result" TYPE TEXT, ALTER COLUMN "result" DROP NOT NULL, ALTER COLUMN "result" DROP DEFAULT; -COMMENT ON COLUMN "pj_workflow_instance_info"."result" IS ''; -ALTER TABLE "pj_workflow_instance_info" -ALTER COLUMN "wf_context" TYPE TEXT, - ALTER COLUMN "wf_context" DROP NOT NULL, - ALTER COLUMN "wf_context" DROP DEFAULT; -COMMENT ON COLUMN "pj_workflow_instance_info"."wf_context" IS ''; -ALTER TABLE "pj_workflow_instance_info" -ALTER COLUMN "wf_init_params" TYPE TEXT, - ALTER COLUMN "wf_init_params" DROP NOT NULL, - ALTER COLUMN "wf_init_params" DROP DEFAULT; -COMMENT ON COLUMN "pj_workflow_instance_info"."wf_init_params" IS ''; -ALTER TABLE "pj_workflow_node_info" -ALTER COLUMN "extra" TYPE TEXT, - ALTER COLUMN "extra" DROP NOT NULL, - ALTER COLUMN "extra" DROP DEFAULT; -COMMENT ON COLUMN "pj_workflow_node_info"."extra" IS ''; -ALTER TABLE "pj_workflow_node_info" -ALTER COLUMN "node_params" TYPE TEXT, - ALTER COLUMN "node_params" DROP NOT NULL, - ALTER COLUMN "node_params" DROP DEFAULT; -COMMENT ON COLUMN "pj_workflow_node_info"."node_params" IS ''; +COMMENT ON COLUMN "pj_instance_info"."result" IS ''; --- 升级“文件管理配置”相关脚本 -delete from sys_menu where menu_id in (1604, 1605); -insert into sys_menu values('1600', '文件查询', '118', '1', '#', '', '', '1', '0', 'F', '0', '0', 'system:oss:query', '#', 1, now(), null, null, ''); -insert into sys_menu values('1601', '文件上传', '118', '2', '#', '', '', '1', '0', 'F', '0', '0', 'system:oss:upload', '#', 1, now(), null, null, ''); -insert into sys_menu values('1602', '文件下载', '118', '3', '#', '', '', '1', '0', 'F', '0', '0', 'system:oss:download', '#', 1, now(), null, null, ''); -insert into sys_menu values('1603', '文件删除', '118', '4', '#', '', '', '1', '0', 'F', '0', '0', 'system:oss:remove', '#', 1, now(), null, null, ''); -insert into sys_menu values('1620', '配置列表', '118', '5', '#', '', '', '1', '0', 'F', '0', '0', 'system:ossConfig:list', '#', 1, now(), null, null, ''); -insert into sys_menu values('1621', '配置添加', '118', '6', '#', '', '', '1', '0', 'F', '0', '0', 'system:ossConfig:add', '#', 1, now(), null, null, ''); -insert into sys_menu values('1622', '配置编辑', '118', '6', '#', '', '', '1', '0', 'F', '0', '0', 'system:ossConfig:edit', '#', 1, now(), null, null, ''); -insert into sys_menu values('1623', '配置删除', '118', '6', '#', '', '', '1', '0', 'F', '0', '0', 'system:ossConfig:remove', '#', 1, now(), null, null, ''); - --- postgresql创建与mysql等效的的find_in_set函数 -CREATE OR REPLACE FUNCTION find_in_set( - value anyelement, - string_list text) - RETURNS integer - LANGUAGE 'plpgsql' - COST 100 - VOLATILE PARALLEL UNSAFE - AS $BODY$ - DECLARE -position INTEGER; -BEGIN - IF string_list = '' THEN - RETURN 0; -ELSE - position := array_position(string_to_array(string_list, ','), value::TEXT); -RETURN position; -END IF; -END; -$BODY$; - --- 租户套餐表 -drop table if exists sys_tenant_package; -create table if not exists sys_tenant_package -( - package_id bigint, - package_name varchar(20) default ''::varchar, - menu_ids varchar(3000) default ''::varchar, - remark varchar(200) default ''::varchar, - menu_check_strictly boolean default true, - status char default '0'::bpchar, - del_flag smallint default 0, - create_by bigint, - create_time timestamp, - update_by bigint, - update_time timestamp, - constraint "pk_sys_tenant_package" primary key (package_id) -); -comment on table sys_tenant_package is '租户套餐表'; -comment on column sys_tenant_package.package_id is '租户套餐id'; -comment on column sys_tenant_package.package_name is '套餐名称'; -comment on column sys_tenant_package.menu_ids is '关联菜单id'; -comment on column sys_tenant_package.remark is '备注'; -comment on column sys_tenant_package.status is '状态(0正常 1停用)'; -comment on column sys_tenant_package.del_flag is '删除标志(0代表存在 1代表删除)'; -comment on column sys_tenant_package.create_by is '创建者'; -comment on column sys_tenant_package.create_time is '创建时间'; -comment on column sys_tenant_package.update_by is '更新者'; -comment on column sys_tenant_package.update_time is '更新时间'; - --- 租户表 -drop table if exists sys_tenant; -create table if not exists sys_tenant -( - tenant_id bigint not null, - contact_user_name varchar(20) default null::varchar, - contact_phone varchar(20) default null::varchar, - company_name varchar(50) default null::varchar, - license_number varchar(30) default null::varchar, - address varchar(200) default null::varchar, - intro varchar(200) default null::varchar, - domain varchar(200) default null::varchar, - remark varchar(200) default null::varchar, - package_id bigint, - expire_time timestamp, - account_count integer default -1, - status char default '0'::bpchar, - del_flag smallint default 0, - create_by bigint, - create_time timestamp, - update_by bigint, - update_time timestamp, - constraint "pk_sys_tenant" primary key (tenant_id) -); -comment on table sys_tenant is '租户表'; -comment on column sys_tenant.tenant_id is '租户编号'; -comment on column sys_tenant.contact_user_name is '联系人'; -comment on column sys_tenant.contact_phone is '联系电话'; -comment on column sys_tenant.company_name is '企业名称'; -comment on column sys_tenant.license_number is '统一社会信用代码'; -comment on column sys_tenant.address is '地址'; -comment on column sys_tenant.intro is '企业简介'; -comment on column sys_tenant.domain is '域名'; -comment on column sys_tenant.remark is '备注'; -comment on column sys_tenant.package_id is '租户套餐编号'; -comment on column sys_tenant.expire_time is '过期时间'; -comment on column sys_tenant.account_count is '用户数量(-1不限制)'; -comment on column sys_tenant.status is '租户状态(0正常 1停用)'; -comment on column sys_tenant.del_flag is '删除标志(0代表存在 1代表删除)'; -comment on column sys_tenant.create_by is '创建者'; -comment on column sys_tenant.create_time is '创建时间'; -comment on column sys_tenant.update_by is '更新者'; -comment on column sys_tenant.update_time is '更新时间'; --- 初始化-租户表数据 -insert into sys_tenant values(0, '联系人', '16888888888', 'Ruoyi-Flex公司', null, null, '多租户通用后台管理管理系统', null, null, null, null, -1, '0', 0, 1, now(), null, null); - --- 租户菜单 -insert into sys_menu values('6', '租户管理', '0', '2', 'tenant', null, '', '1', '0', 'M', '0', '0', '', 'chart', 1, now(), null, null, '租户管理目录'); -insert into sys_menu values('121', '租户管理', '6', '1', 'tenant', 'system/tenant/index', '', '1', '0', 'C', '0', '0', 'system:tenant:list', 'list', 1, now(), null, null, '租户管理菜单'); -insert into sys_menu values('122', '租户套餐管理', '6', '2', 'tenantPackage', 'system/tenantPackage/index', '', '1', '0', 'C', '0', '0', 'system:tenantPackage:list', 'form', 1, now(), null, null, '租户套餐管理菜单'); - --- 租户管理相关按钮 -insert into sys_menu values('1606', '租户查询', '121', '1', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenant:query', '#', 1, now(), null, null, ''); -insert into sys_menu values('1607', '租户新增', '121', '2', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenant:add', '#', 1, now(), null, null, ''); -insert into sys_menu values('1608', '租户修改', '121', '3', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenant:edit', '#', 1, now(), null, null, ''); -insert into sys_menu values('1609', '租户删除', '121', '4', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenant:remove', '#', 1, now(), null, null, ''); -insert into sys_menu values('1610', '租户导出', '121', '5', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenant:export', '#', 1, now(), null, null, ''); --- 租户套餐管理相关按钮 -insert into sys_menu values('1611', '租户套餐查询', '122', '1', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenantPackage:query', '#', 1, now(), null, null, ''); -insert into sys_menu values('1612', '租户套餐新增', '122', '2', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenantPackage:add', '#', 1, now(), null, null, ''); -insert into sys_menu values('1613', '租户套餐修改', '122', '3', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenantPackage:edit', '#', 1, now(), null, null, ''); -insert into sys_menu values('1614', '租户套餐删除', '122', '4', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenantPackage:remove', '#', 1, now(), null, null, ''); -insert into sys_menu values('1615', '租户套餐导出', '122', '5', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenantPackage:export', '#', 1, now(), null, null, ''); - -ALTER TABLE "sys_role" ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; -COMMENT ON COLUMN "sys_role"."tenant_id" IS '租户编号'; - -ALTER TABLE "sys_dept" ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; -COMMENT ON COLUMN "sys_dept"."tenant_id" IS '租户编号'; - -ALTER TABLE "sys_dict_type" ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; -COMMENT ON COLUMN "sys_dict_type"."tenant_id" IS '租户编号'; - -DROP INDEX sys_dict_type_index1; -CREATE UNIQUE INDEX sys_dict_type_index1 ON sys_dict_type(tenant_id, dict_type); - -ALTER TABLE "sys_dict_data" ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; -COMMENT ON COLUMN "sys_dict_data"."tenant_id" IS '租户编号'; - -ALTER TABLE "sys_config" ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; -COMMENT ON COLUMN "sys_config"."tenant_id" IS '租户编号'; - -ALTER TABLE "sys_user" - ALTER COLUMN "email" TYPE VARCHAR(50), - ALTER COLUMN "email" SET NOT NULL, - ALTER COLUMN "email" SET DEFAULT ''; -COMMENT ON COLUMN "sys_user"."email" IS '用户邮箱'; - -DROP INDEX if exists sys_user_unqindex_tenant_username; -CREATE UNIQUE INDEX sys_user_unqindex_tenant_username ON sys_user(tenant_id, user_name); - --- 修改“超级用户”为"superadmin" -UPDATE sys_user SET user_name='superadmin',nick_name='超级管理员' WHERE user_id=1; - -ALTER TABLE "sys_logininfor" - ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; -COMMENT ON COLUMN "sys_logininfor"."tenant_id" IS '租户编号'; -ALTER TABLE "sys_logininfor" - ADD "client_key" VARCHAR(32) NULL DEFAULT ''; -COMMENT ON COLUMN "sys_logininfor"."client_key" IS '客户端'; -ALTER TABLE "sys_logininfor" - ADD "device_type" VARCHAR(32) NULL DEFAULT ''; -COMMENT ON COLUMN "sys_logininfor"."device_type" IS '设备类型'; - --- 客户端管理菜单 -insert into sys_menu values('123', '客户端管理', '1', '11', 'client', 'system/client/index', '', '1', '0', 'C', '0', '0', 'system:client:list', 'international', 1, now(), null, null, '客户端管理菜单'); --- 客户端管理按钮 -insert into sys_menu values('1061', '客户端管理查询', '123', '1', '#', '', '', '1', '0', 'F', '0', '0', 'system:client:query', '#', 1, now(), null, null, ''); -insert into sys_menu values('1062', '客户端管理新增', '123', '2', '#', '', '', '1', '0', 'F', '0', '0', 'system:client:add', '#', 1, now(), null, null, ''); -insert into sys_menu values('1063', '客户端管理修改', '123', '3', '#', '', '', '1', '0', 'F', '0', '0', 'system:client:edit', '#', 1, now(), null, null, ''); -insert into sys_menu values('1064', '客户端管理删除', '123', '4', '#', '', '', '1', '0', 'F', '0', '0', 'system:client:remove', '#', 1, now(), null, null, ''); -insert into sys_menu values('1065', '客户端管理导出', '123', '5', '#', '', '', '1', '0', 'F', '0', '0', 'system:client:export', '#', 1, now(), null, null, ''); - --- 操作日志租户编号 -ALTER TABLE "sys_oper_log" ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; -COMMENT ON COLUMN "sys_oper_log"."tenant_id" IS '租户编号'; - --- 岗位 -ALTER TABLE "sys_post" ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; -COMMENT ON COLUMN "sys_post"."tenant_id" IS '租户编号'; - --- 通知公告 -ALTER TABLE "sys_notice" ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; -COMMENT ON COLUMN "sys_notice"."tenant_id" IS '租户编号'; - --- 文件管理 -ALTER TABLE "sys_oss_config" ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; -COMMENT ON COLUMN "sys_oss_config"."tenant_id" IS '租户编码'; -ALTER TABLE "sys_oss" ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; -COMMENT ON COLUMN "sys_oss"."tenant_id" IS '租户编码'; - --- 演示表 -ALTER TABLE "mf_student" ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; -COMMENT ON COLUMN "mf_student"."tenant_id" IS '租户编码'; -ALTER TABLE "mf_product" ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; -COMMENT ON COLUMN "mf_product"."tenant_id" IS '租户编码'; -ALTER TABLE "mf_customer" ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; -COMMENT ON COLUMN "mf_customer"."tenant_id" IS '租户编码'; -ALTER TABLE "mf_goods" ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; -COMMENT ON COLUMN "mf_goods"."tenant_id" IS '租户编码'; - --- 添加乐观锁字段 -ALTER TABLE "gen_table" ADD "version" INTEGER NULL DEFAULT '0'; -COMMENT ON COLUMN "gen_table"."version" IS '乐观锁'; -ALTER TABLE "gen_table_column" ADD "version" INTEGER NULL DEFAULT '0'; -COMMENT ON COLUMN "gen_table_column"."version" IS '乐观锁'; -ALTER TABLE "sys_client" ADD "version" INTEGER NULL DEFAULT '0'; -COMMENT ON COLUMN "sys_client"."version" IS '乐观锁'; -ALTER TABLE "sys_config" ADD "version" INTEGER NULL DEFAULT '0'; -COMMENT ON COLUMN "sys_config"."version" IS '乐观锁'; -ALTER TABLE "sys_dept" ADD "version" INTEGER NULL DEFAULT '0'; -COMMENT ON COLUMN "sys_dept"."version" IS '乐观锁'; -ALTER TABLE "sys_dict_data" ADD "version" INTEGER NULL DEFAULT '0'; -COMMENT ON COLUMN "sys_dict_data"."version" IS '乐观锁'; -ALTER TABLE "sys_dict_type" ADD "version" INTEGER NULL DEFAULT '0'; -COMMENT ON COLUMN "sys_dict_type"."version" IS '乐观锁'; -ALTER TABLE "sys_menu" ADD "version" INTEGER NULL DEFAULT '0'; -COMMENT ON COLUMN "sys_menu"."version" IS '乐观锁'; -ALTER TABLE "sys_notice" ADD "version" INTEGER NULL DEFAULT '0'; -COMMENT ON COLUMN "sys_notice"."version" IS '乐观锁'; -ALTER TABLE "sys_oss" ADD "version" INTEGER NULL DEFAULT '0'; -COMMENT ON COLUMN "sys_oss"."version" IS '乐观锁'; -ALTER TABLE "sys_oss_config" ADD "version" INTEGER NULL DEFAULT '0'; -COMMENT ON COLUMN "sys_oss_config"."version" IS '乐观锁'; -ALTER TABLE "sys_post" ADD "version" INTEGER NULL DEFAULT '0'; -COMMENT ON COLUMN "sys_post"."version" IS '乐观锁'; -ALTER TABLE "sys_role" ADD "version" INTEGER NULL DEFAULT '0'; -COMMENT ON COLUMN "sys_role"."version" IS '乐观锁'; -ALTER TABLE "sys_tenant" ADD "version" INTEGER NULL DEFAULT '0'; -COMMENT ON COLUMN "sys_tenant"."version" IS '乐观锁'; -ALTER TABLE "sys_tenant_package" ADD "version" INTEGER NULL DEFAULT '0'; -COMMENT ON COLUMN "sys_tenant_package"."version" IS '乐观锁'; -ALTER TABLE "sys_user" ADD "version" INTEGER NULL DEFAULT '0'; -COMMENT ON COLUMN "sys_user"."version" IS '乐观锁'; - --- 演示示例增加乐观锁、逻辑删除字段 -ALTER TABLE "mf_student" ADD "version" INTEGER NULL DEFAULT '0'; -COMMENT ON COLUMN "mf_student"."version" IS '乐观锁'; -ALTER TABLE "mf_student" ADD "del_flag" SMALLINT NULL DEFAULT '0'; -COMMENT ON COLUMN "mf_student"."del_flag" IS '逻辑删除标志(0代表存在 1代表删除)'; -ALTER TABLE "mf_product" ADD "version" INTEGER NOT NULL DEFAULT '0'; -COMMENT ON COLUMN "mf_product"."version" IS '乐观锁'; -ALTER TABLE "mf_product" ADD "del_flag" SMALLINT NOT NULL DEFAULT '0'; -COMMENT ON COLUMN "mf_product"."del_flag" IS '逻辑删除标志(0代表存在 1代表删除)'; -ALTER TABLE "mf_customer" ADD "version" INTEGER NOT NULL DEFAULT '0'; -COMMENT ON COLUMN "mf_customer"."version" IS '乐观锁'; -ALTER TABLE "mf_customer" ADD "del_flag" SMALLINT NOT NULL DEFAULT '0'; -COMMENT ON COLUMN "mf_customer"."del_flag" IS '逻辑删除标志(0代表存在 1代表删除)'; +ALTER TABLE "pj_job_info" +ALTER COLUMN "job_params" TYPE TEXT, + ALTER COLUMN "job_params" DROP NOT NULL, + ALTER COLUMN "job_params" DROP DEFAULT; +COMMENT ON COLUMN "pj_job_info"."job_params" IS ''; diff --git a/script/sql/postgresql/updateV4.2.0ToV5.0.0.sql b/script/sql/postgresql/updateV4.2.0ToV5.0.0.sql new file mode 100644 index 0000000..6c0121d --- /dev/null +++ b/script/sql/postgresql/updateV4.2.0ToV5.0.0.sql @@ -0,0 +1,293 @@ +---- 升级 from V4.2.0 to V5.0.0: +-- 修正“任务调度”的“任务管理”错误: +UPDATE "public"."pj_job_info" SET "alarm_config"='{"alertThreshold":0,"silenceWindowLen":0,"statisticWindowLen":0}', "log_config"='{"type":1}', "processor_info"='com.ruoyi.job.processors.StandaloneProcessorDemo' WHERE "id"=1; +UPDATE "public"."pj_job_info" SET "alarm_config"='{"alertThreshold":0,"silenceWindowLen":0,"statisticWindowLen":0}', "log_config"='{"type":1}', "processor_info"='com.ruoyi.job.processors.BroadcastProcessorDemo' WHERE "id"=2; +UPDATE "public"."pj_job_info" SET "alarm_config"='{"alertThreshold":0,"silenceWindowLen":0,"statisticWindowLen":0}', "log_config"='{"type":1}', "processor_info"='com.ruoyi.job.processors.MapProcessorDemo' WHERE "id"=3; +UPDATE "public"."pj_job_info" SET "alarm_config"='{"alertThreshold":0,"silenceWindowLen":0,"statisticWindowLen":0}', "log_config"='{"type":1}', "processor_info"='com.ruoyi.job.processors.MapReduceProcessorDemo' WHERE "id"=4; + +-- 修改powerjob的库结构的错误oid类型为text类型; +ALTER TABLE "pj_workflow_info" +ALTER COLUMN "pedag" TYPE TEXT, + ALTER COLUMN "pedag" DROP NOT NULL, + ALTER COLUMN "pedag" DROP DEFAULT; +COMMENT ON COLUMN "pj_workflow_info"."pedag" IS ''; +ALTER TABLE "pj_workflow_instance_info" +ALTER COLUMN "dag" TYPE TEXT, + ALTER COLUMN "dag" DROP NOT NULL, + ALTER COLUMN "dag" DROP DEFAULT; +COMMENT ON COLUMN "pj_workflow_instance_info"."dag" IS ''; +ALTER TABLE "pj_workflow_instance_info" +ALTER COLUMN "result" TYPE TEXT, + ALTER COLUMN "result" DROP NOT NULL, + ALTER COLUMN "result" DROP DEFAULT; +COMMENT ON COLUMN "pj_workflow_instance_info"."result" IS ''; +ALTER TABLE "pj_workflow_instance_info" +ALTER COLUMN "wf_context" TYPE TEXT, + ALTER COLUMN "wf_context" DROP NOT NULL, + ALTER COLUMN "wf_context" DROP DEFAULT; +COMMENT ON COLUMN "pj_workflow_instance_info"."wf_context" IS ''; +ALTER TABLE "pj_workflow_instance_info" +ALTER COLUMN "wf_init_params" TYPE TEXT, + ALTER COLUMN "wf_init_params" DROP NOT NULL, + ALTER COLUMN "wf_init_params" DROP DEFAULT; +COMMENT ON COLUMN "pj_workflow_instance_info"."wf_init_params" IS ''; +ALTER TABLE "pj_workflow_node_info" +ALTER COLUMN "extra" TYPE TEXT, + ALTER COLUMN "extra" DROP NOT NULL, + ALTER COLUMN "extra" DROP DEFAULT; +COMMENT ON COLUMN "pj_workflow_node_info"."extra" IS ''; +ALTER TABLE "pj_workflow_node_info" +ALTER COLUMN "node_params" TYPE TEXT, + ALTER COLUMN "node_params" DROP NOT NULL, + ALTER COLUMN "node_params" DROP DEFAULT; +COMMENT ON COLUMN "pj_workflow_node_info"."node_params" IS ''; + +-- 升级“文件管理配置”相关脚本 +delete from sys_menu where menu_id in (1604, 1605); +insert into sys_menu values('1600', '文件查询', '118', '1', '#', '', '', '1', '0', 'F', '0', '0', 'system:oss:query', '#', 1, now(), null, null, ''); +insert into sys_menu values('1601', '文件上传', '118', '2', '#', '', '', '1', '0', 'F', '0', '0', 'system:oss:upload', '#', 1, now(), null, null, ''); +insert into sys_menu values('1602', '文件下载', '118', '3', '#', '', '', '1', '0', 'F', '0', '0', 'system:oss:download', '#', 1, now(), null, null, ''); +insert into sys_menu values('1603', '文件删除', '118', '4', '#', '', '', '1', '0', 'F', '0', '0', 'system:oss:remove', '#', 1, now(), null, null, ''); +insert into sys_menu values('1620', '配置列表', '118', '5', '#', '', '', '1', '0', 'F', '0', '0', 'system:ossConfig:list', '#', 1, now(), null, null, ''); +insert into sys_menu values('1621', '配置添加', '118', '6', '#', '', '', '1', '0', 'F', '0', '0', 'system:ossConfig:add', '#', 1, now(), null, null, ''); +insert into sys_menu values('1622', '配置编辑', '118', '6', '#', '', '', '1', '0', 'F', '0', '0', 'system:ossConfig:edit', '#', 1, now(), null, null, ''); +insert into sys_menu values('1623', '配置删除', '118', '6', '#', '', '', '1', '0', 'F', '0', '0', 'system:ossConfig:remove', '#', 1, now(), null, null, ''); + +-- postgresql创建与mysql等效的的find_in_set函数 +CREATE OR REPLACE FUNCTION find_in_set( + value anyelement, + string_list text) + RETURNS integer + LANGUAGE 'plpgsql' + COST 100 + VOLATILE PARALLEL UNSAFE + AS $BODY$ + DECLARE +position INTEGER; +BEGIN + IF string_list = '' THEN + RETURN 0; +ELSE + position := array_position(string_to_array(string_list, ','), value::TEXT); +RETURN position; +END IF; +END; +$BODY$; + +-- 租户套餐表 +drop table if exists sys_tenant_package; +create table if not exists sys_tenant_package +( + package_id bigint, + package_name varchar(20) default ''::varchar, + menu_ids varchar(3000) default ''::varchar, + remark varchar(200) default ''::varchar, + menu_check_strictly boolean default true, + status char default '0'::bpchar, + del_flag smallint default 0, + create_by bigint, + create_time timestamp, + update_by bigint, + update_time timestamp, + constraint "pk_sys_tenant_package" primary key (package_id) +); +comment on table sys_tenant_package is '租户套餐表'; +comment on column sys_tenant_package.package_id is '租户套餐id'; +comment on column sys_tenant_package.package_name is '套餐名称'; +comment on column sys_tenant_package.menu_ids is '关联菜单id'; +comment on column sys_tenant_package.remark is '备注'; +comment on column sys_tenant_package.status is '状态(0正常 1停用)'; +comment on column sys_tenant_package.del_flag is '删除标志(0代表存在 1代表删除)'; +comment on column sys_tenant_package.create_by is '创建者'; +comment on column sys_tenant_package.create_time is '创建时间'; +comment on column sys_tenant_package.update_by is '更新者'; +comment on column sys_tenant_package.update_time is '更新时间'; + +-- 租户表 +drop table if exists sys_tenant; +create table if not exists sys_tenant +( + tenant_id bigint not null, + contact_user_name varchar(20) default null::varchar, + contact_phone varchar(20) default null::varchar, + company_name varchar(50) default null::varchar, + license_number varchar(30) default null::varchar, + address varchar(200) default null::varchar, + intro varchar(200) default null::varchar, + domain varchar(200) default null::varchar, + remark varchar(200) default null::varchar, + package_id bigint, + expire_time timestamp, + account_count integer default -1, + status char default '0'::bpchar, + del_flag smallint default 0, + create_by bigint, + create_time timestamp, + update_by bigint, + update_time timestamp, + constraint "pk_sys_tenant" primary key (tenant_id) +); +comment on table sys_tenant is '租户表'; +comment on column sys_tenant.tenant_id is '租户编号'; +comment on column sys_tenant.contact_user_name is '联系人'; +comment on column sys_tenant.contact_phone is '联系电话'; +comment on column sys_tenant.company_name is '企业名称'; +comment on column sys_tenant.license_number is '统一社会信用代码'; +comment on column sys_tenant.address is '地址'; +comment on column sys_tenant.intro is '企业简介'; +comment on column sys_tenant.domain is '域名'; +comment on column sys_tenant.remark is '备注'; +comment on column sys_tenant.package_id is '租户套餐编号'; +comment on column sys_tenant.expire_time is '过期时间'; +comment on column sys_tenant.account_count is '用户数量(-1不限制)'; +comment on column sys_tenant.status is '租户状态(0正常 1停用)'; +comment on column sys_tenant.del_flag is '删除标志(0代表存在 1代表删除)'; +comment on column sys_tenant.create_by is '创建者'; +comment on column sys_tenant.create_time is '创建时间'; +comment on column sys_tenant.update_by is '更新者'; +comment on column sys_tenant.update_time is '更新时间'; +-- 初始化-租户表数据 +insert into sys_tenant values(0, '联系人', '16888888888', 'Ruoyi-Flex公司', null, null, '多租户通用后台管理管理系统', null, null, null, null, -1, '0', 0, 1, now(), null, null); + +-- 租户菜单 +insert into sys_menu values('6', '租户管理', '0', '2', 'tenant', null, '', '1', '0', 'M', '0', '0', '', 'chart', 1, now(), null, null, '租户管理目录'); +insert into sys_menu values('121', '租户管理', '6', '1', 'tenant', 'system/tenant/index', '', '1', '0', 'C', '0', '0', 'system:tenant:list', 'list', 1, now(), null, null, '租户管理菜单'); +insert into sys_menu values('122', '租户套餐管理', '6', '2', 'tenantPackage', 'system/tenantPackage/index', '', '1', '0', 'C', '0', '0', 'system:tenantPackage:list', 'form', 1, now(), null, null, '租户套餐管理菜单'); + +-- 租户管理相关按钮 +insert into sys_menu values('1606', '租户查询', '121', '1', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenant:query', '#', 1, now(), null, null, ''); +insert into sys_menu values('1607', '租户新增', '121', '2', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenant:add', '#', 1, now(), null, null, ''); +insert into sys_menu values('1608', '租户修改', '121', '3', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenant:edit', '#', 1, now(), null, null, ''); +insert into sys_menu values('1609', '租户删除', '121', '4', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenant:remove', '#', 1, now(), null, null, ''); +insert into sys_menu values('1610', '租户导出', '121', '5', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenant:export', '#', 1, now(), null, null, ''); +-- 租户套餐管理相关按钮 +insert into sys_menu values('1611', '租户套餐查询', '122', '1', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenantPackage:query', '#', 1, now(), null, null, ''); +insert into sys_menu values('1612', '租户套餐新增', '122', '2', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenantPackage:add', '#', 1, now(), null, null, ''); +insert into sys_menu values('1613', '租户套餐修改', '122', '3', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenantPackage:edit', '#', 1, now(), null, null, ''); +insert into sys_menu values('1614', '租户套餐删除', '122', '4', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenantPackage:remove', '#', 1, now(), null, null, ''); +insert into sys_menu values('1615', '租户套餐导出', '122', '5', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenantPackage:export', '#', 1, now(), null, null, ''); + +ALTER TABLE "sys_role" ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; +COMMENT ON COLUMN "sys_role"."tenant_id" IS '租户编号'; + +ALTER TABLE "sys_dept" ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; +COMMENT ON COLUMN "sys_dept"."tenant_id" IS '租户编号'; + +ALTER TABLE "sys_dict_type" ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; +COMMENT ON COLUMN "sys_dict_type"."tenant_id" IS '租户编号'; + +DROP INDEX sys_dict_type_index1; +CREATE UNIQUE INDEX sys_dict_type_index1 ON sys_dict_type(tenant_id, dict_type); + +ALTER TABLE "sys_dict_data" ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; +COMMENT ON COLUMN "sys_dict_data"."tenant_id" IS '租户编号'; + +ALTER TABLE "sys_config" ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; +COMMENT ON COLUMN "sys_config"."tenant_id" IS '租户编号'; + +ALTER TABLE "sys_user" + ALTER COLUMN "email" TYPE VARCHAR(50), + ALTER COLUMN "email" SET NOT NULL, + ALTER COLUMN "email" SET DEFAULT ''; +COMMENT ON COLUMN "sys_user"."email" IS '用户邮箱'; + +DROP INDEX if exists sys_user_unqindex_tenant_username; +CREATE UNIQUE INDEX sys_user_unqindex_tenant_username ON sys_user(tenant_id, user_name); + +-- 修改“超级用户”为"superadmin" +UPDATE sys_user SET user_name='superadmin',nick_name='超级管理员' WHERE user_id=1; + +ALTER TABLE "sys_logininfor" + ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; +COMMENT ON COLUMN "sys_logininfor"."tenant_id" IS '租户编号'; +ALTER TABLE "sys_logininfor" + ADD "client_key" VARCHAR(32) NULL DEFAULT ''; +COMMENT ON COLUMN "sys_logininfor"."client_key" IS '客户端'; +ALTER TABLE "sys_logininfor" + ADD "device_type" VARCHAR(32) NULL DEFAULT ''; +COMMENT ON COLUMN "sys_logininfor"."device_type" IS '设备类型'; + +-- 客户端管理菜单 +insert into sys_menu values('123', '客户端管理', '1', '11', 'client', 'system/client/index', '', '1', '0', 'C', '0', '0', 'system:client:list', 'international', 1, now(), null, null, '客户端管理菜单'); +-- 客户端管理按钮 +insert into sys_menu values('1061', '客户端管理查询', '123', '1', '#', '', '', '1', '0', 'F', '0', '0', 'system:client:query', '#', 1, now(), null, null, ''); +insert into sys_menu values('1062', '客户端管理新增', '123', '2', '#', '', '', '1', '0', 'F', '0', '0', 'system:client:add', '#', 1, now(), null, null, ''); +insert into sys_menu values('1063', '客户端管理修改', '123', '3', '#', '', '', '1', '0', 'F', '0', '0', 'system:client:edit', '#', 1, now(), null, null, ''); +insert into sys_menu values('1064', '客户端管理删除', '123', '4', '#', '', '', '1', '0', 'F', '0', '0', 'system:client:remove', '#', 1, now(), null, null, ''); +insert into sys_menu values('1065', '客户端管理导出', '123', '5', '#', '', '', '1', '0', 'F', '0', '0', 'system:client:export', '#', 1, now(), null, null, ''); + +-- 操作日志租户编号 +ALTER TABLE "sys_oper_log" ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; +COMMENT ON COLUMN "sys_oper_log"."tenant_id" IS '租户编号'; + +-- 岗位 +ALTER TABLE "sys_post" ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; +COMMENT ON COLUMN "sys_post"."tenant_id" IS '租户编号'; + +-- 通知公告 +ALTER TABLE "sys_notice" ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; +COMMENT ON COLUMN "sys_notice"."tenant_id" IS '租户编号'; + +-- 文件管理 +ALTER TABLE "sys_oss_config" ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; +COMMENT ON COLUMN "sys_oss_config"."tenant_id" IS '租户编码'; +ALTER TABLE "sys_oss" ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; +COMMENT ON COLUMN "sys_oss"."tenant_id" IS '租户编码'; + +-- 演示表 +ALTER TABLE "mf_student" ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; +COMMENT ON COLUMN "mf_student"."tenant_id" IS '租户编码'; +ALTER TABLE "mf_product" ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; +COMMENT ON COLUMN "mf_product"."tenant_id" IS '租户编码'; +ALTER TABLE "mf_customer" ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; +COMMENT ON COLUMN "mf_customer"."tenant_id" IS '租户编码'; +ALTER TABLE "mf_goods" ADD "tenant_id" BIGINT NOT NULL DEFAULT '0'; +COMMENT ON COLUMN "mf_goods"."tenant_id" IS '租户编码'; + +-- 添加乐观锁字段 +ALTER TABLE "gen_table" ADD "version" INTEGER NULL DEFAULT '0'; +COMMENT ON COLUMN "gen_table"."version" IS '乐观锁'; +ALTER TABLE "gen_table_column" ADD "version" INTEGER NULL DEFAULT '0'; +COMMENT ON COLUMN "gen_table_column"."version" IS '乐观锁'; +ALTER TABLE "sys_client" ADD "version" INTEGER NULL DEFAULT '0'; +COMMENT ON COLUMN "sys_client"."version" IS '乐观锁'; +ALTER TABLE "sys_config" ADD "version" INTEGER NULL DEFAULT '0'; +COMMENT ON COLUMN "sys_config"."version" IS '乐观锁'; +ALTER TABLE "sys_dept" ADD "version" INTEGER NULL DEFAULT '0'; +COMMENT ON COLUMN "sys_dept"."version" IS '乐观锁'; +ALTER TABLE "sys_dict_data" ADD "version" INTEGER NULL DEFAULT '0'; +COMMENT ON COLUMN "sys_dict_data"."version" IS '乐观锁'; +ALTER TABLE "sys_dict_type" ADD "version" INTEGER NULL DEFAULT '0'; +COMMENT ON COLUMN "sys_dict_type"."version" IS '乐观锁'; +ALTER TABLE "sys_menu" ADD "version" INTEGER NULL DEFAULT '0'; +COMMENT ON COLUMN "sys_menu"."version" IS '乐观锁'; +ALTER TABLE "sys_notice" ADD "version" INTEGER NULL DEFAULT '0'; +COMMENT ON COLUMN "sys_notice"."version" IS '乐观锁'; +ALTER TABLE "sys_oss" ADD "version" INTEGER NULL DEFAULT '0'; +COMMENT ON COLUMN "sys_oss"."version" IS '乐观锁'; +ALTER TABLE "sys_oss_config" ADD "version" INTEGER NULL DEFAULT '0'; +COMMENT ON COLUMN "sys_oss_config"."version" IS '乐观锁'; +ALTER TABLE "sys_post" ADD "version" INTEGER NULL DEFAULT '0'; +COMMENT ON COLUMN "sys_post"."version" IS '乐观锁'; +ALTER TABLE "sys_role" ADD "version" INTEGER NULL DEFAULT '0'; +COMMENT ON COLUMN "sys_role"."version" IS '乐观锁'; +ALTER TABLE "sys_tenant" ADD "version" INTEGER NULL DEFAULT '0'; +COMMENT ON COLUMN "sys_tenant"."version" IS '乐观锁'; +ALTER TABLE "sys_tenant_package" ADD "version" INTEGER NULL DEFAULT '0'; +COMMENT ON COLUMN "sys_tenant_package"."version" IS '乐观锁'; +ALTER TABLE "sys_user" ADD "version" INTEGER NULL DEFAULT '0'; +COMMENT ON COLUMN "sys_user"."version" IS '乐观锁'; + +-- 演示示例增加乐观锁、逻辑删除字段 +ALTER TABLE "mf_student" ADD "version" INTEGER NULL DEFAULT '0'; +COMMENT ON COLUMN "mf_student"."version" IS '乐观锁'; +ALTER TABLE "mf_student" ADD "del_flag" SMALLINT NULL DEFAULT '0'; +COMMENT ON COLUMN "mf_student"."del_flag" IS '逻辑删除标志(0代表存在 1代表删除)'; +ALTER TABLE "mf_product" ADD "version" INTEGER NOT NULL DEFAULT '0'; +COMMENT ON COLUMN "mf_product"."version" IS '乐观锁'; +ALTER TABLE "mf_product" ADD "del_flag" SMALLINT NOT NULL DEFAULT '0'; +COMMENT ON COLUMN "mf_product"."del_flag" IS '逻辑删除标志(0代表存在 1代表删除)'; +ALTER TABLE "mf_customer" ADD "version" INTEGER NOT NULL DEFAULT '0'; +COMMENT ON COLUMN "mf_customer"."version" IS '乐观锁'; +ALTER TABLE "mf_customer" ADD "del_flag" SMALLINT NOT NULL DEFAULT '0'; +COMMENT ON COLUMN "mf_customer"."del_flag" IS '逻辑删除标志(0代表存在 1代表删除)';