Files
meet-hub/fix-existing-consulting-orders.sql
dwindown 17440cdf89 Fix consulting order processing and display
- Fix consulting history to show continuous time range (09:00 - 11:00) instead of listing individual slots
- Add foreign key relationships for consulting_slots (order_id and user_id)
- Fix handle-order-paid to query profiles(email, name) instead of full_name
- Add completed consulting sessions with recordings to Member Access page
- Add user_id foreign key constraint to consulting_slots table
- Add orders foreign key constraint for consulting_slots relationship

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-27 01:17:47 +07:00

39 lines
1.1 KiB
SQL

-- SQL Script to manually fix existing paid consulting orders
-- This updates consulting_slots status and can be run in Supabase SQL Editor
-- Step 1: Check how many consulting orders are affected
SELECT
o.id as order_id,
o.payment_status,
COUNT(cs.id) as slot_count,
SUM(CASE WHEN cs.status = 'pending_payment' THEN 1 ELSE 0 END) as pending_slots
FROM orders o
INNER JOIN consulting_slots cs ON cs.order_id = o.id
WHERE o.payment_status = 'paid'
GROUP BY o.id, o.payment_status
HAVING SUM(CASE WHEN cs.status = 'pending_payment' THEN 1 ELSE 0 END) > 0;
-- Step 2: Update all pending_payment slots for paid orders to 'confirmed'
UPDATE consulting_slots
SET status = 'confirmed'
WHERE order_id IN (
SELECT o.id
FROM orders o
WHERE o.payment_status = 'paid'
)
AND status = 'pending_payment';
-- Step 3: Verify the update
SELECT
o.id as order_id,
o.payment_status,
cs.status as slot_status,
cs.date,
cs.start_time,
cs.end_time,
cs.meet_link
FROM orders o
INNER JOIN consulting_slots cs ON cs.order_id = o.id
WHERE o.payment_status = 'paid'
ORDER BY o.created_at DESC;