release: freeze 2026-10-15 validated release baseline
CI/CD Pipeline / UI Contracts (source-structure gates) (push) Canceled after 0s
CI/CD Pipeline / E2E (live stack) (push) Canceled after 0s
CI/CD Pipeline / Backend Build & Test (push) Canceled after 0s
CI/CD Pipeline / Admin Web Build (push) Canceled after 0s
CI/CD Pipeline / Mini Program Compile Check (push) Canceled after 0s
CI/CD Pipeline / Migration Validation (push) Canceled after 0s
CI/CD Pipeline / Test Shell Guard (Phase 23 Gate) (push) Canceled after 0s
CI/CD Pipeline / UI Contracts (source-structure gates) (push) Canceled after 0s
CI/CD Pipeline / E2E (live stack) (push) Canceled after 0s
CI/CD Pipeline / Backend Build & Test (push) Canceled after 0s
CI/CD Pipeline / Admin Web Build (push) Canceled after 0s
CI/CD Pipeline / Mini Program Compile Check (push) Canceled after 0s
CI/CD Pipeline / Migration Validation (push) Canceled after 0s
CI/CD Pipeline / Test Shell Guard (Phase 23 Gate) (push) Canceled after 0s
This commit is contained in:
@@ -0,0 +1 @@
|
||||
# NEGATIVE-INJECTION-1: listener disabled for red proof
|
||||
@@ -13,6 +13,14 @@ spring:
|
||||
serialization:
|
||||
write-dates-as-timestamps: false
|
||||
|
||||
# REQUIRES_NEW 拒绝审计(AuditDenyWriter.insertIndependent)经独立 SqlSession 提交后,
|
||||
# 不会清空外层测试事务 SqlSession 的一级缓存;测试里 before/after 两次同参数 count
|
||||
# 第二次会命中缓存返回 before 值(旧行为假绿的机制来源)。statement 作用域让每次查询
|
||||
# 真执行,与生产 PG READ_COMMITTED 的可见性语义一致。
|
||||
mybatis-plus:
|
||||
configuration:
|
||||
local-cache-scope: statement
|
||||
|
||||
jwt:
|
||||
access-token-secret: test-access-secret-for-unit-tests-only
|
||||
refresh-token-secret: test-refresh-secret-for-unit-tests-only
|
||||
|
||||
@@ -2,7 +2,7 @@ DROP ALL OBJECTS;
|
||||
|
||||
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),
|
||||
wechat_unionid VARCHAR(128), phone VARCHAR(32), display_number VARCHAR(32), account_status VARCHAR(32),
|
||||
relationship_status VARCHAR(32), recommendation_enabled BOOLEAN,
|
||||
last_login_at TIMESTAMP WITH TIME ZONE, closed_at TIMESTAMP WITH TIME ZONE,
|
||||
created_at TIMESTAMP WITH TIME ZONE,
|
||||
@@ -544,6 +544,7 @@ CREATE TABLE operators (
|
||||
phone_hash VARCHAR(128),
|
||||
username VARCHAR(100) NOT NULL,
|
||||
password_hash VARCHAR(255) NOT NULL,
|
||||
display_id VARCHAR(32),
|
||||
status VARCHAR(32) NOT NULL DEFAULT 'active',
|
||||
last_login_at TIMESTAMP WITH TIME ZONE,
|
||||
created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW(),
|
||||
@@ -798,3 +799,38 @@ CREATE TABLE feature_flag_overrides (
|
||||
updated_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW(),
|
||||
CONSTRAINT chk_flag_value_type CHECK (value_type IN ('boolean', 'int', 'string'))
|
||||
);
|
||||
|
||||
-- V060 公开编号读取契约(PostgreSQL 分配器另做并发实测)
|
||||
CREATE TABLE public_display_id_counters (
|
||||
prefix VARCHAR(2) NOT NULL, local_date DATE NOT NULL, sequence_group VARCHAR(8) NOT NULL DEFAULT '',
|
||||
last_sequence INTEGER NOT NULL CHECK(last_sequence BETWEEN 1 AND 999), PRIMARY KEY(prefix,local_date,sequence_group)
|
||||
);
|
||||
CREATE TABLE public_display_id_aliases (
|
||||
entity_type VARCHAR(64) NOT NULL, entity_id VARCHAR(36) NOT NULL, old_display_id VARCHAR(64) NOT NULL,
|
||||
new_display_id VARCHAR(13), PRIMARY KEY(entity_type,entity_id,old_display_id)
|
||||
);
|
||||
ALTER TABLE activities ADD COLUMN IF NOT EXISTS display_id VARCHAR(13);
|
||||
ALTER TABLE review_tasks ADD COLUMN IF NOT EXISTS display_id VARCHAR(13);
|
||||
ALTER TABLE reports ADD COLUMN IF NOT EXISTS display_id VARCHAR(13);
|
||||
ALTER TABLE matchmaker_services ADD COLUMN IF NOT EXISTS display_id VARCHAR(13);
|
||||
ALTER TABLE matchmaker_recommendations ADD COLUMN IF NOT EXISTS display_id VARCHAR(13);
|
||||
ALTER TABLE matchmaker_contact_authorizations ADD COLUMN IF NOT EXISTS display_id VARCHAR(13);
|
||||
ALTER TABLE matchmaker_assignments ADD COLUMN IF NOT EXISTS display_id VARCHAR(13);
|
||||
ALTER TABLE matchmaker_followups ADD COLUMN IF NOT EXISTS display_id VARCHAR(13);
|
||||
ALTER TABLE service_appointments ADD COLUMN IF NOT EXISTS display_id VARCHAR(13);
|
||||
ALTER TABLE service_appointments ADD COLUMN IF NOT EXISTS referral_display_id VARCHAR(13);
|
||||
ALTER TABLE activity_registrations ADD COLUMN IF NOT EXISTS referral_display_id VARCHAR(13);
|
||||
ALTER TABLE matchmaker_followups ADD COLUMN IF NOT EXISTS referral_display_id VARCHAR(13);
|
||||
CREATE VIEW public_display_ids AS
|
||||
SELECT CAST(id AS VARCHAR) id, display_number display_id, 'users' entity_type, CAST(NULL AS VARCHAR) referral_display_id FROM users
|
||||
UNION ALL SELECT CAST(id AS VARCHAR), display_id, 'operators', CAST(NULL AS VARCHAR) FROM operators
|
||||
UNION ALL SELECT CAST(id AS VARCHAR), display_id, 'activities', CAST(NULL AS VARCHAR) FROM activities
|
||||
UNION ALL SELECT CAST(id AS VARCHAR), display_id, 'review_tasks', CAST(NULL AS VARCHAR) FROM review_tasks
|
||||
UNION ALL SELECT CAST(id AS VARCHAR), display_id, 'reports', CAST(NULL AS VARCHAR) FROM reports
|
||||
UNION ALL SELECT CAST(id AS VARCHAR), display_id, 'matchmaker_services', CAST(NULL AS VARCHAR) FROM matchmaker_services
|
||||
UNION ALL SELECT CAST(id AS VARCHAR), display_id, 'matchmaker_recommendations', CAST(NULL AS VARCHAR) FROM matchmaker_recommendations
|
||||
UNION ALL SELECT CAST(id AS VARCHAR), display_id, 'matchmaker_contact_authorizations', CAST(NULL AS VARCHAR) FROM matchmaker_contact_authorizations
|
||||
UNION ALL SELECT CAST(id AS VARCHAR), display_id, 'matchmaker_assignments', CAST(NULL AS VARCHAR) FROM matchmaker_assignments
|
||||
UNION ALL SELECT CAST(id AS VARCHAR), display_id, 'matchmaker_followups', referral_display_id FROM matchmaker_followups
|
||||
UNION ALL SELECT CAST(id AS VARCHAR), display_id, 'service_appointments', referral_display_id FROM service_appointments
|
||||
UNION ALL SELECT CAST(id AS VARCHAR), referral_display_id, 'activity_registrations', referral_display_id FROM activity_registrations WHERE referral_display_id IS NOT NULL;
|
||||
|
||||
Reference in New Issue
Block a user