feat(account): 数据保留流程落地(36 个月下限,V049)—— closed_at + 人工审核/幂等匿名化/审计 + 运营端点 + 守卫 5 用例;测试库补 user_photos,MyBatis null 更新修复
This commit is contained in:
@@ -4,9 +4,26 @@ CREATE TABLE users (
|
||||
id VARCHAR(36) PRIMARY KEY, wechat_openid VARCHAR(128) NOT NULL UNIQUE,
|
||||
wechat_unionid VARCHAR(128), phone VARCHAR(32), account_status VARCHAR(32),
|
||||
relationship_status VARCHAR(32), recommendation_enabled BOOLEAN,
|
||||
last_login_at TIMESTAMP WITH TIME ZONE, created_at TIMESTAMP WITH TIME ZONE,
|
||||
last_login_at TIMESTAMP WITH TIME ZONE, closed_at TIMESTAMP WITH TIME ZONE,
|
||||
created_at TIMESTAMP WITH TIME ZONE,
|
||||
updated_at TIMESTAMP WITH TIME ZONE, deleted_at TIMESTAMP WITH TIME ZONE
|
||||
);
|
||||
-- 数据保留守卫(DataRetentionGuardTest):user_photos 表此前完全缺失于测试库
|
||||
-- (且留在 EntityMigrationParityTest 的可选白名单里 = 零覆盖),
|
||||
-- 照片软删路径在测试环境直接 BadSqlGrammar。按 V002 生产定义补齐(UUID→VARCHAR(36) 约定)。
|
||||
CREATE TABLE user_photos (
|
||||
id VARCHAR(36) PRIMARY KEY,
|
||||
user_id VARCHAR(36) NOT NULL,
|
||||
file_key VARCHAR(512) NOT NULL,
|
||||
photo_type VARCHAR(32) NOT NULL DEFAULT 'lifestyle',
|
||||
sort_order SMALLINT NOT NULL DEFAULT 0,
|
||||
review_status VARCHAR(32) NOT NULL DEFAULT 'pending',
|
||||
review_reason VARCHAR(256),
|
||||
created_at TIMESTAMP WITH TIME ZONE,
|
||||
updated_at TIMESTAMP WITH TIME ZONE,
|
||||
deleted_at TIMESTAMP WITH TIME ZONE
|
||||
);
|
||||
|
||||
CREATE TABLE user_relations (
|
||||
id VARCHAR(36) PRIMARY KEY, user_id VARCHAR(36), target_user_id VARCHAR(36), relation_type VARCHAR(32),
|
||||
created_at TIMESTAMP WITH TIME ZONE, updated_at TIMESTAMP WITH TIME ZONE, deleted_at TIMESTAMP WITH TIME ZONE,
|
||||
|
||||
Reference in New Issue
Block a user