44 lines
1.7 KiB
SQL
44 lines
1.7 KiB
SQL
-- 更新 share_links 表,添加新流程所需字段
|
||
|
||
-- 添加链接状态字段
|
||
ALTER TABLE share_links ADD COLUMN IF NOT EXISTS status TEXT NOT NULL DEFAULT 'pending';
|
||
-- pending: 待点击
|
||
-- clicked: 已点击
|
||
-- confirmed: 已确认
|
||
-- rejected: 已拒绝
|
||
-- expired: 已过期
|
||
-- cancelled: 已取消
|
||
|
||
-- 添加点击时间字段
|
||
ALTER TABLE share_links ADD COLUMN IF NOT EXISTS clicked_at TIMESTAMPTZ;
|
||
|
||
-- 添加工厂确认/拒绝时间
|
||
ALTER TABLE share_links ADD COLUMN IF NOT EXISTS responded_at TIMESTAMPTZ;
|
||
|
||
-- 添加工厂响应结果
|
||
ALTER TABLE share_links ADD COLUMN IF NOT EXISTS response_result TEXT;
|
||
-- confirmed: 确认合作
|
||
-- rejected: 拒绝合作
|
||
|
||
-- 添加拒绝原因
|
||
ALTER TABLE share_links ADD COLUMN IF NOT EXISTS reject_reason TEXT;
|
||
|
||
-- 添加过期时间(改为30分钟)
|
||
ALTER TABLE share_links ADD COLUMN IF NOT EXISTS expires_at TIMESTAMPTZ;
|
||
|
||
-- 更新现有数据:设置默认过期时间为创建后30分钟
|
||
UPDATE share_links
|
||
SET expires_at = COALESCE(expires_at, created_at + INTERVAL '30 minutes')
|
||
WHERE expires_at IS NULL;
|
||
|
||
-- 添加注释
|
||
COMMENT ON COLUMN share_links.status IS '链接状态:pending-待点击, clicked-已点击, confirmed-已确认, rejected-已拒绝, expired-已过期, cancelled-已取消';
|
||
COMMENT ON COLUMN share_links.clicked_at IS '工厂点击链接的时间';
|
||
COMMENT ON COLUMN share_links.responded_at IS '工厂确认/拒绝的时间';
|
||
COMMENT ON COLUMN share_links.response_result IS '工厂响应结果:confirmed-确认, rejected-拒绝';
|
||
COMMENT ON COLUMN share_links.reject_reason IS '拒绝原因';
|
||
|
||
-- 创建索引
|
||
CREATE INDEX IF NOT EXISTS idx_share_links_status ON share_links(status);
|
||
CREATE INDEX IF NOT EXISTS idx_share_links_expires ON share_links(expires_at);
|