This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
BEGIN;
|
||||
|
||||
ALTER TABLE IF EXISTS list_users
|
||||
ADD COLUMN IF NOT EXISTS position NOT NULL DEFAULT 0;
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_list_users_user_id_position ON list_users (user_id, position);
|
||||
|
||||
UPDATE list_users lu
|
||||
SET position = r.rn - 1
|
||||
FROM (SELECT list_id,
|
||||
user_id,
|
||||
row_number() OVER (
|
||||
PARTITION BY user_id
|
||||
ORDER BY created_at, list_id
|
||||
) AS rn
|
||||
FROM list_users) r
|
||||
WHERE lu.list_id = r.list_id
|
||||
AND lu.user_id = r.user_id;
|
||||
|
||||
COMMIT;
|
||||
Reference in New Issue
Block a user