CREATE TABLE IF NOT EXISTS mock_card_group ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL UNIQUE, created_at TEXT NOT NULL, updated_at TEXT NOT NULL ); CREATE TABLE IF NOT EXISTS mock_t_sim_card ( id INTEGER PRIMARY KEY AUTOINCREMENT, group_id INTEGER, msisdn TEXT NOT NULL UNIQUE, iccid TEXT NOT NULL UNIQUE, imsi TEXT NOT NULL UNIQUE, imei TEXT, remark TEXT, carrier TEXT, package_code TEXT, package_name TEXT, package_status INTEGER, package_total_flow_mb REAL, is_flow_pool INTEGER, card_status TEXT, last_change_date TEXT, stop_reason TEXT, frozen_status TEXT, frozen_reason TEXT, frozen_oper_time TEXT, open_date TEXT, active_date TEXT, on_off_status TEXT, session_status TEXT, apn_id TEXT, session_ipv4 TEXT, session_ipv6_prefix TEXT, session_ipv6 TEXT, session_create_date TEXT, rat TEXT, apn_list_json TEXT, apn_usage_json TEXT, primary_apn_name TEXT, primary_apn_status TEXT, primary_apn_usage_kb REAL, primary_apn_usage_bytes INTEGER, pcc_code TEXT, pcc_usage_kb REAL, current_month_usage_kb REAL, pool_usage_bytes INTEGER, daily_usage_kb REAL, monthly_usage_kb REAL, daily_query_date TEXT, monthly_query_month TEXT, monthly_deadline TEXT, growth_per_minute_kb REAL, auto_growth_enabled INTEGER, last_usage_update_time TEXT, card_bind_status TEXT, region_limit_status TEXT, area_restrict_type TEXT, restricted_area TEXT, exported INTEGER NOT NULL DEFAULT 0, export_checked_at TEXT, created_at TEXT, updated_at TEXT ); CREATE TABLE IF NOT EXISTS mock_order ( id INTEGER PRIMARY KEY AUTOINCREMENT, order_num TEXT NOT NULL UNIQUE, msisdn TEXT, iccid TEXT, imsi TEXT, type TEXT NOT NULL, oper_type TEXT, apn_name TEXT, status TEXT NOT NULL, created_at TEXT NOT NULL ); CREATE INDEX IF NOT EXISTS idx_mock_card_created_at ON mock_t_sim_card(created_at DESC); CREATE INDEX IF NOT EXISTS idx_mock_order_created_at ON mock_order(created_at DESC);