-- Marketing Campaign Migration V1 -- Apply to staging/production PostgreSQL databases -- -- Instructions: -- 1. Connect to staging: psql -U autonet -d autonet_staging -- 2. Run: \i /path/to/marketing_campaign_v1.sql -- -- 1. Add cash_cc_balance to users table ALTER TABLE users ADD COLUMN IF NOT EXISTS cash_cc_balance FLOAT DEFAULT 0.0; -- 2. Create sns_share_submissions table CREATE TABLE IF NOT EXISTS sns_share_submissions ( id SERIAL PRIMARY KEY, user_id INTEGER NOT NULL REFERENCES users(id), car_id INTEGER NOT NULL REFERENCES cars(id), platform VARCHAR(20) NOT NULL, sns_url VARCHAR(500) NOT NULL, status VARCHAR(20) DEFAULT 'pending', rejected_reason TEXT, reward_cc FLOAT DEFAULT 3.0, rewarded_at TIMESTAMP WITH TIME ZONE, submitted_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(), verified_at TIMESTAMP WITH TIME ZONE, verified_by INTEGER REFERENCES users(id) ); CREATE INDEX IF NOT EXISTS ix_sns_share_submissions_user_id ON sns_share_submissions(user_id); CREATE INDEX IF NOT EXISTS ix_sns_share_submissions_status ON sns_share_submissions(status); -- 3. Add marketing settings to system_settings table ALTER TABLE system_settings ADD COLUMN IF NOT EXISTS marketing_enabled BOOLEAN DEFAULT FALSE; ALTER TABLE system_settings ADD COLUMN IF NOT EXISTS marketing_start_date TIMESTAMP WITH TIME ZONE; ALTER TABLE system_settings ADD COLUMN IF NOT EXISTS marketing_end_date TIMESTAMP WITH TIME ZONE; ALTER TABLE system_settings ADD COLUMN IF NOT EXISTS sns_share_reward_cc FLOAT DEFAULT 3.0; ALTER TABLE system_settings ADD COLUMN IF NOT EXISTS referral_signup_reward_cc FLOAT DEFAULT 10.0; ALTER TABLE system_settings ADD COLUMN IF NOT EXISTS event_cc_validity_months INTEGER DEFAULT 6; ALTER TABLE system_settings ADD COLUMN IF NOT EXISTS withdrawal_enabled BOOLEAN DEFAULT TRUE; ALTER TABLE system_settings ADD COLUMN IF NOT EXISTS min_withdrawal_usd FLOAT DEFAULT 10.0; -- 4. Add reward_type to referral_rewards table ALTER TABLE referral_rewards ADD COLUMN IF NOT EXISTS reward_type VARCHAR(20) DEFAULT 'payment'; -- Done SELECT 'Marketing Campaign V1 migration completed!' AS status;