58 lines
2.1 KiB
SQL
58 lines
2.1 KiB
SQL
-- 非付费互动支持 deviceId 归属;登录时由应用事务合并到账号。
|
|
|
|
ALTER TABLE content_like
|
|
ADD COLUMN IF NOT EXISTS device_id VARCHAR(128) NOT NULL DEFAULT '';
|
|
ALTER TABLE content_like
|
|
ALTER COLUMN user_id DROP NOT NULL;
|
|
DROP INDEX IF EXISTS uk_content_like;
|
|
CREATE UNIQUE INDEX IF NOT EXISTS uk_content_like_user
|
|
ON content_like (user_id, target_type, target_id)
|
|
WHERE user_id IS NOT NULL;
|
|
CREATE UNIQUE INDEX IF NOT EXISTS uk_content_like_device
|
|
ON content_like (device_id, target_type, target_id)
|
|
WHERE user_id IS NULL AND device_id <> '';
|
|
CREATE INDEX IF NOT EXISTS idx_content_like_device
|
|
ON content_like (device_id, created_at DESC)
|
|
WHERE device_id <> '';
|
|
|
|
ALTER TABLE user_favorite
|
|
ADD COLUMN IF NOT EXISTS device_id VARCHAR(128) NOT NULL DEFAULT '';
|
|
ALTER TABLE user_favorite
|
|
ALTER COLUMN user_id DROP NOT NULL;
|
|
DROP INDEX IF EXISTS uk_user_favorite;
|
|
CREATE UNIQUE INDEX IF NOT EXISTS uk_user_favorite_user
|
|
ON user_favorite (user_id, drama_id)
|
|
WHERE user_id IS NOT NULL;
|
|
CREATE UNIQUE INDEX IF NOT EXISTS uk_user_favorite_device
|
|
ON user_favorite (device_id, drama_id)
|
|
WHERE user_id IS NULL AND device_id <> '';
|
|
CREATE INDEX IF NOT EXISTS idx_user_favorite_device
|
|
ON user_favorite (device_id, created_at DESC)
|
|
WHERE device_id <> '';
|
|
|
|
ALTER TABLE content_comment
|
|
ADD COLUMN IF NOT EXISTS device_id VARCHAR(128) NOT NULL DEFAULT '';
|
|
ALTER TABLE content_comment
|
|
ALTER COLUMN user_id DROP NOT NULL;
|
|
CREATE INDEX IF NOT EXISTS idx_comment_device
|
|
ON content_comment (device_id, created_at DESC)
|
|
WHERE user_id IS NULL AND device_id <> '';
|
|
CREATE UNIQUE INDEX IF NOT EXISTS uk_content_comment_user_content
|
|
ON content_comment (
|
|
user_id,
|
|
drama_id,
|
|
episode_id,
|
|
parent_id,
|
|
md5(content)
|
|
)
|
|
WHERE user_id IS NOT NULL AND deleted = 0 AND status <> 'deleted';
|
|
CREATE UNIQUE INDEX IF NOT EXISTS uk_content_comment_device_content
|
|
ON content_comment (
|
|
device_id,
|
|
drama_id,
|
|
episode_id,
|
|
parent_id,
|
|
md5(content)
|
|
)
|
|
WHERE user_id IS NULL AND device_id <> '' AND deleted = 0 AND status <> 'deleted';
|