1-- Add channel_order column to channels table with default value
2ALTER TABLE channels ADD COLUMN channel_order INTEGER NOT NULL DEFAULT 1;
3
4-- Update channel_order for existing channels using ROW_NUMBER for deterministic ordering
5UPDATE channels
6SET channel_order = (
7 SELECT ROW_NUMBER() OVER (
8 PARTITION BY parent_path
9 ORDER BY name, id
10 )
11 FROM channels c2
12 WHERE c2.id = channels.id
13);
14
15-- Create index for efficient ordering queries
16CREATE INDEX "index_channels_on_parent_path_and_order" ON "channels" ("parent_path", "channel_order");