diff --git a/src/integrations/supabase/types.ts b/src/integrations/supabase/types.ts index 1432806..7d68dbc 100644 --- a/src/integrations/supabase/types.ts +++ b/src/integrations/supabase/types.ts @@ -221,6 +221,7 @@ export type Database = { late: number legal: number payment: number + sort_order: number transaction_type: string updated_at: string viol: number @@ -242,6 +243,7 @@ export type Database = { late?: number legal?: number payment?: number + sort_order?: number transaction_type: string updated_at?: string viol?: number @@ -263,6 +265,7 @@ export type Database = { late?: number legal?: number payment?: number + sort_order?: number transaction_type?: string updated_at?: string viol?: number diff --git a/supabase/migrations/20260417015724_210748c1-113b-4c0d-883b-6a7ce98b67f7.sql b/supabase/migrations/20260417015724_210748c1-113b-4c0d-883b-6a7ce98b67f7.sql new file mode 100644 index 0000000..b51c9df --- /dev/null +++ b/supabase/migrations/20260417015724_210748c1-113b-4c0d-883b-6a7ce98b67f7.sql @@ -0,0 +1,11 @@ +ALTER TABLE public.collection_ledger_entries ADD COLUMN IF NOT EXISTS sort_order integer NOT NULL DEFAULT 0; +CREATE INDEX IF NOT EXISTS collection_ledger_entries_collection_sort_idx ON public.collection_ledger_entries (collection_id, sort_order, entry_date, created_at); +-- Backfill: assign sort_order based on existing chronological order +WITH ordered AS ( + SELECT id, ROW_NUMBER() OVER (PARTITION BY collection_id ORDER BY entry_date, created_at) * 10 AS new_order + FROM public.collection_ledger_entries +) +UPDATE public.collection_ledger_entries e +SET sort_order = o.new_order +FROM ordered o +WHERE e.id = o.id AND e.sort_order = 0; \ No newline at end of file