-- -- 升级 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代表删除)';