refactor(database): 补全客户管理模块表结构与索引

新增客户业务编号、业务员关联字段,补全updated_at列和更新触发器,优化索引命名与新增必要索引,新增增量迁移脚本
This commit is contained in:
andyesfly committed 2026-08-23 19:25:45 +08:00
1 parent 1c80a24d1d
commit dc86bf1040
2 files changed
+248 -6

No files matched your search

+21 -6
View File
@@ -190,6 +190,7 @@ CREATE INDEX idx_oplog_time ON sys_operation_log (created_at);
DROP TABLE IF EXISTS customer CASCADE;
CREATE TABLE customer (
id BIGSERIAL PRIMARY KEY,
customer_no VARCHAR(64) NOT NULL UNIQUE,
customer_name VARCHAR(128) NOT NULL,
province VARCHAR(64),
city VARCHAR(64),
@@ -201,11 +202,13 @@ CREATE TABLE customer (
fax VARCHAR(20),
customer_level VARCHAR(32),
status SMALLINT NOT NULL DEFAULT 1,
salesman_id BIGINT REFERENCES sys_user(id),
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
COMMENT ON TABLE customer IS '客户信息表';
COMMENT ON COLUMN customer.id IS '自增主键';
COMMENT ON COLUMN customer.customer_no IS '客户业务编号(KH+YYYYMMDD+3位序号)';
COMMENT ON COLUMN customer.customer_name IS '客户名称';
COMMENT ON COLUMN customer.province IS '省';
COMMENT ON COLUMN customer.city IS '市';
@@ -217,10 +220,13 @@ COMMENT ON COLUMN customer.postal_code IS '邮编';
COMMENT ON COLUMN customer.fax IS '传真';
COMMENT ON COLUMN customer.customer_level IS '客户级别(学校/医院等)';
COMMENT ON COLUMN customer.status IS '状态:1意向 2签约 3运维中 4终止';
COMMENT ON COLUMN customer.salesman_id IS '负责业务员(→ sys_user.id)';
COMMENT ON COLUMN customer.created_at IS '创建时间';
COMMENT ON COLUMN customer.updated_at IS '更新时间';
CREATE INDEX idx_customer_name ON customer (customer_name);
CREATE INDEX idx_customer_region ON customer (province, city, district);
CREATE INDEX idx_customer_name ON customer (customer_name);
CREATE INDEX idx_customer_salesman ON customer (salesman_id);
CREATE INDEX idx_customer_status ON customer (status);
CREATE INDEX idx_customer_region ON customer (province, city, district);
CREATE TRIGGER trg_customer_updated_at BEFORE UPDATE ON customer
FOR EACH ROW EXECUTE FUNCTION trigger_set_updated_at();
@@ -233,7 +239,8 @@ CREATE TABLE customer_department (
contact_person VARCHAR(64),
contact_phone VARCHAR(20),
function_desc TEXT,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
COMMENT ON TABLE customer_department IS '客户部门信息表';
COMMENT ON COLUMN customer_department.id IS '自增主键';
@@ -243,7 +250,10 @@ COMMENT ON COLUMN customer_department.contact_person IS '联系人';
COMMENT ON COLUMN customer_department.contact_phone IS '电话';
COMMENT ON COLUMN customer_department.function_desc IS '职能';
COMMENT ON COLUMN customer_department.created_at IS '创建时间';
CREATE INDEX idx_cust_dept_customer ON customer_department (customer_id);
COMMENT ON COLUMN customer_department.updated_at IS '更新时间';
CREATE INDEX idx_dept_customer ON customer_department (customer_id);
CREATE TRIGGER trg_customer_department_updated_at BEFORE UPDATE ON customer_department
FOR EACH ROW EXECUTE FUNCTION trigger_set_updated_at();
-- 10. 客户拜访信息表
DROP TABLE IF EXISTS customer_visit CASCADE;
@@ -362,7 +372,8 @@ CREATE TABLE customer_account (
wx_openid VARCHAR(128),
status SMALLINT NOT NULL DEFAULT 1,
last_login_at TIMESTAMPTZ,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
COMMENT ON TABLE customer_account IS '客户访问账号表(小程序登录)';
COMMENT ON COLUMN customer_account.id IS '自增主键';
@@ -373,7 +384,11 @@ COMMENT ON COLUMN customer_account.wx_openid IS '微信 openid';
COMMENT ON COLUMN customer_account.status IS '状态:1启用 0禁用';
COMMENT ON COLUMN customer_account.last_login_at IS '最后登录时间';
COMMENT ON COLUMN customer_account.created_at IS '创建时间';
CREATE UNIQUE INDEX idx_cust_account_phone ON customer_account (phone);
COMMENT ON COLUMN customer_account.updated_at IS '更新时间';
CREATE INDEX idx_account_customer ON customer_account (customer_id);
CREATE UNIQUE INDEX uk_account_phone ON customer_account (phone);
CREATE TRIGGER trg_customer_account_updated_at BEFORE UPDATE ON customer_account
FOR EACH ROW EXECUTE FUNCTION trigger_set_updated_at();
-- ============================================================
-- 三、智电设备域(1 张表)