- Implemented player_configs table to store multiple player configurations per user. - Migrated existing player settings from user_preferences to player_configs. - Removed player-related columns from user_preferences. - Added referral state fields to user for tracking referral rewards. - Created migration scripts for database changes and data migration. - Added test cases for app services and usage helpers. - Introduced video job service interfaces and implementations.
18 lines
731 B
PL/PgSQL
18 lines
731 B
PL/PgSQL
-- Migration: Add user referral state
|
|
-- Created: 2026-03-23
|
|
-- Description: Adds minimal referral linkage and first-subscription reward tracking fields to user
|
|
|
|
BEGIN;
|
|
|
|
ALTER TABLE "user"
|
|
ADD COLUMN IF NOT EXISTS referred_by_user_id UUID REFERENCES "user"(id) ON DELETE SET NULL,
|
|
ADD COLUMN IF NOT EXISTS referral_eligible BOOLEAN NOT NULL DEFAULT TRUE,
|
|
ADD COLUMN IF NOT EXISTS referral_reward_bps INTEGER,
|
|
ADD COLUMN IF NOT EXISTS referral_reward_granted_at TIMESTAMP WITH TIME ZONE,
|
|
ADD COLUMN IF NOT EXISTS referral_reward_payment_id UUID,
|
|
ADD COLUMN IF NOT EXISTS referral_reward_amount NUMERIC(65,30);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_user_referred_by_user_id ON "user"(referred_by_user_id);
|
|
|
|
COMMIT;
|