-- Junction / mapping tables get a table-local AUTO_INCREMENT row id. -- Business uniqueness stays UNIQUE (same columns as the old composite PK). -- Snowflake PKs (users / messages / conversations / moments posts) are unchanged. ALTER TABLE user_emails DROP PRIMARY KEY, ADD COLUMN id BIGINT NOT NULL AUTO_INCREMENT COMMENT '行 id,表内自增,仅内部用;业务唯一键是 email' FIRST, ADD PRIMARY KEY (id), ADD UNIQUE KEY uk_email (email); ALTER TABLE p2p_conversations DROP PRIMARY KEY, ADD COLUMN id BIGINT NOT NULL AUTO_INCREMENT COMMENT '行 id,表内自增,仅内部用;业务唯一键是 (user_small, user_big)' FIRST, ADD PRIMARY KEY (id), ADD UNIQUE KEY uk_p2p_users (user_small, user_big); ALTER TABLE conversation_members DROP PRIMARY KEY, ADD COLUMN id BIGINT NOT NULL AUTO_INCREMENT COMMENT '行 id,表内自增,仅内部用;业务唯一键是 (conversation_id, user_id)' FIRST, ADD PRIMARY KEY (id), ADD UNIQUE KEY uk_conversation_members (conversation_id, user_id); ALTER TABLE device_sync_cursors DROP PRIMARY KEY, ADD COLUMN id BIGINT NOT NULL AUTO_INCREMENT COMMENT '行 id,表内自增,仅内部用;业务唯一键是 (user_id, device_id)' FIRST, ADD PRIMARY KEY (id), ADD UNIQUE KEY uk_user_device (user_id, device_id); ALTER TABLE group_members DROP PRIMARY KEY, ADD COLUMN id BIGINT NOT NULL AUTO_INCREMENT COMMENT '行 id,表内自增,仅内部用;业务唯一键是 (group_id, user_id)' FIRST, ADD PRIMARY KEY (id), ADD UNIQUE KEY uk_group_members (group_id, user_id); ALTER TABLE message_deletes DROP PRIMARY KEY, ADD COLUMN id BIGINT NOT NULL AUTO_INCREMENT COMMENT '行 id,表内自增,仅内部用;业务唯一键是 (user_id, msg_id)' FIRST, ADD PRIMARY KEY (id), ADD UNIQUE KEY uk_user_msg (user_id, msg_id); ALTER TABLE moment_audience DROP PRIMARY KEY, ADD COLUMN id BIGINT NOT NULL AUTO_INCREMENT COMMENT '行 id,表内自增,仅内部用;业务唯一键是 (post_id, peer_id)' FIRST, ADD PRIMARY KEY (id), ADD UNIQUE KEY uk_post_peer (post_id, peer_id); ALTER TABLE moment_likes DROP PRIMARY KEY, ADD COLUMN id BIGINT NOT NULL AUTO_INCREMENT COMMENT '行 id,表内自增,仅内部用;业务唯一键是 (post_id, user_id)' FIRST, ADD PRIMARY KEY (id), ADD UNIQUE KEY uk_post_user (post_id, user_id); ALTER TABLE moment_settings DROP PRIMARY KEY, ADD COLUMN id BIGINT NOT NULL AUTO_INCREMENT COMMENT '行 id,表内自增,仅内部用;业务唯一键是 user_id' FIRST, ADD PRIMARY KEY (id), ADD UNIQUE KEY uk_user_id (user_id); ALTER TABLE moment_hides DROP PRIMARY KEY, ADD COLUMN id BIGINT NOT NULL AUTO_INCREMENT COMMENT '行 id,表内自增,仅内部用;业务唯一键是 (user_id, peer_id)' FIRST, ADD PRIMARY KEY (id), ADD UNIQUE KEY uk_user_peer (user_id, peer_id);