spark-server/migrations/0016_row_autoincrement_id.sql
2026-09-23 17:11:56 +08:00

64 lines
2.9 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- Junction / mapping tables get a table-local AUTO_INCREMENT row id.
-- Business uniqueness stays UNIQUE (same columns as the old composite PK).
-- Snowflake PKs (t_users / t_messages / t_conversations / moments posts) are unchanged.
ALTER TABLE t_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 t_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 t_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 t_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 t_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 t_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 t_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 t_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 t_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 t_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);