unis_crm/backend/sql/dashboard_analytics_config_...

124 lines
4.0 KiB
MySQL
Raw Permalink Normal View History

2026-05-20 02:01:28 +00:00
create table if not exists dashboard_analytics_panel_config (
id bigint generated by default as identity primary key,
tenant_id bigint not null,
enabled boolean not null default false,
title varchar(100) not null default '经营分析',
subtitle varchar(255),
empty_state_text varchar(255),
created_at timestamptz not null default now(),
updated_at timestamptz not null default now()
);
create table if not exists dashboard_analytics_card_config (
id bigint generated by default as identity primary key,
tenant_id bigint not null,
card_key varchar(100) not null,
group_name varchar(100),
title varchar(100) not null,
subtitle varchar(255),
render_type varchar(20) not null default 'metric',
sql_template text not null,
value_field varchar(100) not null default 'value',
description_field varchar(100),
category_field varchar(100),
color_field varchar(100),
display_text_config text,
unit varchar(20),
value_type varchar(20) not null default 'number',
sort_direction varchar(20) not null default 'sql',
display_limit integer,
layout_type varchar(20) not null default 'vertical',
full_row boolean not null default false,
link_path varchar(255),
sort_order integer not null default 0,
enabled boolean not null default true,
created_at timestamptz not null default now(),
updated_at timestamptz not null default now()
);
alter table dashboard_analytics_panel_config
add column if not exists enabled boolean not null default false;
alter table dashboard_analytics_panel_config
add column if not exists title varchar(100) not null default '经营分析';
alter table dashboard_analytics_panel_config
add column if not exists subtitle varchar(255);
alter table dashboard_analytics_panel_config
add column if not exists empty_state_text varchar(255);
alter table dashboard_analytics_card_config
add column if not exists group_name varchar(100);
alter table dashboard_analytics_card_config
add column if not exists title varchar(100) not null default '未命名卡片';
alter table dashboard_analytics_card_config
add column if not exists subtitle varchar(255);
alter table dashboard_analytics_card_config
add column if not exists render_type varchar(20) not null default 'metric';
alter table dashboard_analytics_card_config
add column if not exists description_field varchar(100);
alter table dashboard_analytics_card_config
add column if not exists category_field varchar(100);
alter table dashboard_analytics_card_config
add column if not exists color_field varchar(100);
alter table dashboard_analytics_card_config
add column if not exists display_text_config text;
alter table dashboard_analytics_card_config
add column if not exists unit varchar(20);
alter table dashboard_analytics_card_config
add column if not exists value_type varchar(20) not null default 'number';
alter table dashboard_analytics_card_config
add column if not exists sort_direction varchar(20) not null default 'sql';
alter table dashboard_analytics_card_config
add column if not exists display_limit integer;
alter table dashboard_analytics_card_config
add column if not exists layout_type varchar(20) not null default 'vertical';
alter table dashboard_analytics_card_config
add column if not exists full_row boolean not null default false;
alter table dashboard_analytics_card_config
add column if not exists link_path varchar(255);
do $$
begin
if not exists (
select 1
from pg_constraint
where conname = 'uk_dashboard_analytics_panel_tenant'
) then
alter table dashboard_analytics_panel_config
add constraint uk_dashboard_analytics_panel_tenant unique (tenant_id);
end if;
end
$$;
do $$
begin
if not exists (
select 1
from pg_constraint
where conname = 'uk_dashboard_analytics_card_tenant_key'
) then
alter table dashboard_analytics_card_config
add constraint uk_dashboard_analytics_card_tenant_key unique (tenant_id, card_key);
end if;
end
$$;
create index if not exists idx_dashboard_analytics_card_tenant_sort
on dashboard_analytics_card_config (tenant_id, sort_order asc, id asc);