fix(activity-mutual): close Phase 16 KEEP-VERIFY/EXTEND — 7 defects + 1 hidden compile defect (reopenEpisode) + 1 test-fidelity; unify dual-impl to confirmActivityInterest; INV-006 fix; +7 tests (481 green)
This commit is contained in:
@@ -33,6 +33,29 @@ CREATE TABLE matches (
|
||||
-- 测试库若缺此约束,形如 source='liked' 的非法取值会被静默放过,只在 PostgreSQL 上炸。
|
||||
CONSTRAINT chk_match_source CHECK (source IN ('user_like', 'activity_mutual', 'matchmaker'))
|
||||
);
|
||||
|
||||
-- Phase 16:活动互选二阶段同意表(与 V024 + V037 + V041 生产 DDL 对齐)。
|
||||
-- 此前完全缺失 → 互选相关路径零覆盖(只能写假测试)。
|
||||
-- 注意 deleted_at 必须为可空 TIMESTAMP(V037 已为生产表补该列;BaseEntity 逻辑删除依赖它)。
|
||||
CREATE TABLE activity_mutual_connection_consents (
|
||||
id VARCHAR(36) PRIMARY KEY,
|
||||
activity_id VARCHAR(36) NOT NULL,
|
||||
user_a_id VARCHAR(36) NOT NULL,
|
||||
user_b_id VARCHAR(36) NOT NULL,
|
||||
user_a_status VARCHAR(32) NOT NULL DEFAULT 'pending',
|
||||
user_b_status VARCHAR(32) NOT NULL DEFAULT 'pending',
|
||||
both_confirmed_at TIMESTAMP WITH TIME ZONE,
|
||||
expires_at TIMESTAMP WITH TIME ZONE,
|
||||
match_id VARCHAR(36),
|
||||
created_at TIMESTAMP WITH TIME ZONE,
|
||||
updated_at TIMESTAMP WITH TIME ZONE,
|
||||
deleted_at TIMESTAMP WITH TIME ZONE,
|
||||
UNIQUE (activity_id, user_a_id, user_b_id),
|
||||
CONSTRAINT chk_consent_status CHECK (
|
||||
user_a_status IN ('pending', 'accepted', 'declined')
|
||||
AND user_b_status IN ('pending', 'accepted', 'declined')
|
||||
)
|
||||
);
|
||||
CREATE TABLE relationship_success_requests (
|
||||
id VARCHAR(36) PRIMARY KEY, match_id VARCHAR(36), initiated_by VARCHAR(36), status VARCHAR(32), confirmed_by VARCHAR(36),
|
||||
resolved_at TIMESTAMP WITH TIME ZONE, created_at TIMESTAMP WITH TIME ZONE,
|
||||
|
||||
Reference in New Issue
Block a user