-- Gamification Tables for Musadaq -- Run this migration on your production database -- Points tracking CREATE TABLE IF NOT EXISTS user_points ( id VARCHAR(36) PRIMARY KEY, user_id VARCHAR(36) NOT NULL, tenant_id VARCHAR(36) NOT NULL, action VARCHAR(50) NOT NULL, points INT NOT NULL DEFAULT 0, created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, INDEX idx_user_points_user (user_id), INDEX idx_user_points_tenant (tenant_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- Badge tracking CREATE TABLE IF NOT EXISTS user_badges ( id VARCHAR(36) PRIMARY KEY, user_id VARCHAR(36) NOT NULL, tenant_id VARCHAR(36) NOT NULL, badge_key VARCHAR(50) NOT NULL, badge_name VARCHAR(100) NOT NULL, badge_icon VARCHAR(10) NOT NULL DEFAULT '🏅', earned_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, UNIQUE KEY uk_user_badge (user_id, badge_key), INDEX idx_user_badges_tenant (tenant_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- WhatsApp link code column (add to users table) ALTER TABLE users ADD COLUMN IF NOT EXISTS whatsapp_link_code VARCHAR(10) DEFAULT NULL; ALTER TABLE users ADD COLUMN IF NOT EXISTS whatsapp_linked TINYINT(1) DEFAULT 0;