Update: 2026-05-08 04:58:23
This commit is contained in:
31
database/migrations/004_gamification_whatsapp.sql
Normal file
31
database/migrations/004_gamification_whatsapp.sql
Normal file
@@ -0,0 +1,31 @@
|
||||
-- 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;
|
||||
14
database/migrations/005_chatbot.sql
Normal file
14
database/migrations/005_chatbot.sql
Normal file
@@ -0,0 +1,14 @@
|
||||
-- Chatbot History Table
|
||||
-- Run this migration on your production database
|
||||
|
||||
CREATE TABLE IF NOT EXISTS chatbot_history (
|
||||
id VARCHAR(36) PRIMARY KEY,
|
||||
user_id VARCHAR(36) NOT NULL,
|
||||
tenant_id VARCHAR(36) NOT NULL,
|
||||
question TEXT NOT NULL,
|
||||
answer TEXT NOT NULL,
|
||||
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
INDEX idx_chatbot_user (user_id),
|
||||
INDEX idx_chatbot_tenant (tenant_id),
|
||||
INDEX idx_chatbot_date (created_at)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
21
database/migrations/006_sms_bank.sql
Normal file
21
database/migrations/006_sms_bank.sql
Normal file
@@ -0,0 +1,21 @@
|
||||
-- SMS Bank Integration Tables
|
||||
-- Run this migration on your production database
|
||||
|
||||
CREATE TABLE IF NOT EXISTS raw_sms_log (
|
||||
id VARCHAR(36) PRIMARY KEY,
|
||||
sender VARCHAR(100) NOT NULL,
|
||||
message_body TEXT NOT NULL,
|
||||
status ENUM('pending', 'matched', 'unmatched', 'error') DEFAULT 'pending',
|
||||
payment_request_id VARCHAR(36) DEFAULT NULL,
|
||||
extracted_ref VARCHAR(50) DEFAULT NULL,
|
||||
extracted_amount DECIMAL(12,3) DEFAULT NULL,
|
||||
received_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
processed_at DATETIME DEFAULT NULL,
|
||||
INDEX idx_sms_status (status),
|
||||
INDEX idx_sms_payment (payment_request_id),
|
||||
INDEX idx_sms_date (received_at)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
-- Add sms_log_id to payment_requests if not exists
|
||||
ALTER TABLE payment_requests ADD COLUMN IF NOT EXISTS sms_log_id VARCHAR(36) DEFAULT NULL;
|
||||
ALTER TABLE payment_requests ADD COLUMN IF NOT EXISTS confirmed_at DATETIME DEFAULT NULL;
|
||||
20
database/migrations/007_marketplace.sql
Normal file
20
database/migrations/007_marketplace.sql
Normal file
@@ -0,0 +1,20 @@
|
||||
-- Marketplace Tables
|
||||
CREATE TABLE IF NOT EXISTS marketplace_listings (
|
||||
id VARCHAR(36) PRIMARY KEY,
|
||||
tenant_id VARCHAR(36) NOT NULL,
|
||||
office_name VARCHAR(200) NOT NULL,
|
||||
city VARCHAR(50) NOT NULL DEFAULT 'amman',
|
||||
specialty VARCHAR(50) NOT NULL DEFAULT 'general',
|
||||
description TEXT DEFAULT NULL,
|
||||
contact_phone VARCHAR(50) DEFAULT NULL,
|
||||
contact_email VARCHAR(100) DEFAULT NULL,
|
||||
rating DECIMAL(2,1) DEFAULT 0,
|
||||
is_featured TINYINT(1) DEFAULT 0,
|
||||
is_active TINYINT(1) DEFAULT 1,
|
||||
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at DATETIME DEFAULT NULL,
|
||||
UNIQUE KEY uk_tenant (tenant_id),
|
||||
INDEX idx_city (city),
|
||||
INDEX idx_specialty (specialty),
|
||||
INDEX idx_active (is_active)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
Reference in New Issue
Block a user