Files
junhong_cmp_fiber/migrations/archive/000004_create_personal_customer_relations.up.sql

87 lines
4.4 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- 创建个人客户手机号绑定表
CREATE TABLE IF NOT EXISTS personal_customer_phone (
id SERIAL PRIMARY KEY,
customer_id INTEGER NOT NULL,
phone VARCHAR(20) NOT NULL,
is_primary BOOLEAN DEFAULT false,
verified_at TIMESTAMP,
status INTEGER DEFAULT 1,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
deleted_at TIMESTAMP
);
COMMENT ON TABLE personal_customer_phone IS '个人客户手机号绑定表';
COMMENT ON COLUMN personal_customer_phone.id IS '主键ID';
COMMENT ON COLUMN personal_customer_phone.customer_id IS '个人客户ID';
COMMENT ON COLUMN personal_customer_phone.phone IS '手机号';
COMMENT ON COLUMN personal_customer_phone.is_primary IS '是否主手机号';
COMMENT ON COLUMN personal_customer_phone.verified_at IS '验证通过时间';
COMMENT ON COLUMN personal_customer_phone.status IS '状态 0=禁用 1=启用';
COMMENT ON COLUMN personal_customer_phone.created_at IS '创建时间';
COMMENT ON COLUMN personal_customer_phone.updated_at IS '更新时间';
COMMENT ON COLUMN personal_customer_phone.deleted_at IS '删除时间(软删除)';
-- 创建索引
CREATE UNIQUE INDEX idx_personal_customer_phone_customer_phone ON personal_customer_phone(customer_id, phone) WHERE deleted_at IS NULL;
CREATE INDEX idx_personal_customer_phone_phone ON personal_customer_phone(phone);
CREATE INDEX idx_personal_customer_phone_deleted_at ON personal_customer_phone(deleted_at);
-- 创建个人客户 ICCID 绑定表
CREATE TABLE IF NOT EXISTS personal_customer_iccid (
id SERIAL PRIMARY KEY,
customer_id INTEGER NOT NULL,
iccid VARCHAR(20) NOT NULL,
bind_at TIMESTAMP,
last_used_at TIMESTAMP,
status INTEGER DEFAULT 1,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
deleted_at TIMESTAMP
);
COMMENT ON TABLE personal_customer_iccid IS '个人客户ICCID绑定表';
COMMENT ON COLUMN personal_customer_iccid.id IS '主键ID';
COMMENT ON COLUMN personal_customer_iccid.customer_id IS '个人客户ID';
COMMENT ON COLUMN personal_customer_iccid.iccid IS 'ICCID20位数字';
COMMENT ON COLUMN personal_customer_iccid.bind_at IS '绑定时间';
COMMENT ON COLUMN personal_customer_iccid.last_used_at IS '最后使用时间';
COMMENT ON COLUMN personal_customer_iccid.status IS '状态 0=禁用 1=启用';
COMMENT ON COLUMN personal_customer_iccid.created_at IS '创建时间';
COMMENT ON COLUMN personal_customer_iccid.updated_at IS '更新时间';
COMMENT ON COLUMN personal_customer_iccid.deleted_at IS '删除时间(软删除)';
-- 创建索引
CREATE UNIQUE INDEX idx_personal_customer_iccid_customer_iccid ON personal_customer_iccid(customer_id, iccid) WHERE deleted_at IS NULL;
CREATE INDEX idx_personal_customer_iccid_iccid ON personal_customer_iccid(iccid);
CREATE INDEX idx_personal_customer_iccid_deleted_at ON personal_customer_iccid(deleted_at);
-- 创建个人客户设备号绑定表
CREATE TABLE IF NOT EXISTS personal_customer_device (
id SERIAL PRIMARY KEY,
customer_id INTEGER NOT NULL,
device_no VARCHAR(50) NOT NULL,
bind_at TIMESTAMP,
last_used_at TIMESTAMP,
status INTEGER DEFAULT 1,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
deleted_at TIMESTAMP
);
COMMENT ON TABLE personal_customer_device IS '个人客户设备号绑定表';
COMMENT ON COLUMN personal_customer_device.id IS '主键ID';
COMMENT ON COLUMN personal_customer_device.customer_id IS '个人客户ID';
COMMENT ON COLUMN personal_customer_device.device_no IS '设备号/IMEI';
COMMENT ON COLUMN personal_customer_device.bind_at IS '绑定时间';
COMMENT ON COLUMN personal_customer_device.last_used_at IS '最后使用时间';
COMMENT ON COLUMN personal_customer_device.status IS '状态 0=禁用 1=启用';
COMMENT ON COLUMN personal_customer_device.created_at IS '创建时间';
COMMENT ON COLUMN personal_customer_device.updated_at IS '更新时间';
COMMENT ON COLUMN personal_customer_device.deleted_at IS '删除时间(软删除)';
-- 创建索引
CREATE UNIQUE INDEX idx_personal_customer_device_customer_device ON personal_customer_device(customer_id, device_no) WHERE deleted_at IS NULL;
CREATE INDEX idx_personal_customer_device_device_no ON personal_customer_device(device_no);
CREATE INDEX idx_personal_customer_device_deleted_at ON personal_customer_device(deleted_at);