Files
FruitServer/sql/migrate-k106-anonymous-watch.sql

25 lines
1023 B
SQL

-- 观看进度与观看流水支持 deviceId 归属;登录时由账号事务合并。
ALTER TABLE watch_progress
ADD COLUMN IF NOT EXISTS device_id VARCHAR(128) NOT NULL DEFAULT '';
ALTER TABLE watch_progress
ALTER COLUMN user_id DROP NOT NULL;
DROP INDEX IF EXISTS uk_watch_progress;
CREATE UNIQUE INDEX IF NOT EXISTS uk_watch_progress_user
ON watch_progress (user_id, drama_id)
WHERE user_id IS NOT NULL;
CREATE UNIQUE INDEX IF NOT EXISTS uk_watch_progress_device
ON watch_progress (device_id, drama_id)
WHERE user_id IS NULL AND device_id <> '';
CREATE INDEX IF NOT EXISTS idx_watch_progress_device
ON watch_progress (device_id, updated_at DESC)
WHERE device_id <> '';
ALTER TABLE watch_history
ADD COLUMN IF NOT EXISTS device_id VARCHAR(128) NOT NULL DEFAULT '';
ALTER TABLE watch_history
ALTER COLUMN user_id DROP NOT NULL;
CREATE INDEX IF NOT EXISTS idx_watch_history_device
ON watch_history (device_id, watched_at DESC)
WHERE user_id IS NULL AND device_id <> '';