Planned schema changes: CREATE EXTENSION IF NOT EXISTS "pg_trgm"; -- Modify function generate_case_id: body, language CREATE OR REPLACE FUNCTION "generate_case_id"() RETURNS varchar(20) AS $$ DECLARE v_today VARCHAR(8); v_seq INTEGER; BEGIN v_today := TO_CHAR(CURRENT_DATE, 'YYYYMMDD'); -- 事务级排他锁(双参数,无 int32 哈希碰撞风险):不同天并行,同天串行 PERFORM pg_advisory_xact_lock(hashtext('generate_case_id'), v_today::integer); SELECT COALESCE(MAX(CAST(SUBSTRING(case_id FROM 10 FOR 5) AS INTEGER)), 0) + 1 INTO v_seq FROM "case" WHERE case_id LIKE 'Q' || v_today || '%'; RETURN 'Q' || v_today || LPAD(v_seq::TEXT, 5, '0'); END; $$ LANGUAGE plpgsql SECURITY INVOKER VOLATILE; CREATE TRIGGER "update_user_updated_at" BEFORE UPDATE ON "user" FOR EACH ROW EXECUTE FUNCTION "update_updated_at_column"(); CREATE INDEX IF NOT EXISTS "idx_kb_category_embedding" ON "kb_category" USING ivfflat ("embedding" vector_cosine_ops) WITH (lists='100'); Auto-approval enabled; applying schema changes. Schema apply completed successfully.