peixue-dev/Archive/peidu-temp-files/sql/verify_plan_a_database_2026-01-23.sql

162 lines
6.3 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- ========================================
-- 验证方案A数据库完整性
-- 创建日期2026-01-23
-- 数据库peixue
-- ========================================
USE peixue;
SELECT '========================================' AS '';
SELECT '方案A数据库完整性验证' AS '';
SELECT '========================================' AS '';
-- ========================================
-- 1. 检查新表是否存在
-- ========================================
SELECT '1. 检查新表是否存在' AS '';
SELECT '----------------------------------------' AS '';
SELECT
CASE WHEN COUNT(*) > 0 THEN '✅ coupon表存在' ELSE '❌ coupon表不存在' END AS result
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'peixue' AND TABLE_NAME = 'coupon';
SELECT
CASE WHEN COUNT(*) > 0 THEN '✅ user_coupon表存在' ELSE '❌ user_coupon表不存在' END AS result
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'peixue' AND TABLE_NAME = 'user_coupon';
SELECT
CASE WHEN COUNT(*) > 0 THEN '✅ user_address表存在' ELSE '❌ user_address表不存在' END AS result
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'peixue' AND TABLE_NAME = 'user_address';
SELECT
CASE WHEN COUNT(*) > 0 THEN '✅ user_package表存在' ELSE '❌ user_package表不存在' END AS result
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'peixue' AND TABLE_NAME = 'user_package';
-- ========================================
-- 2. 检查订单表新字段
-- ========================================
SELECT '' AS '';
SELECT '2. 检查订单表新字段' AS '';
SELECT '----------------------------------------' AS '';
SELECT
CASE WHEN COUNT(*) > 0 THEN '✅ payment_method字段存在' ELSE '❌ payment_method字段不存在' END AS result
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'peixue' AND TABLE_NAME = 'order' AND COLUMN_NAME = 'payment_method';
SELECT
CASE WHEN COUNT(*) > 0 THEN '✅ wallet_amount字段存在' ELSE '❌ wallet_amount字段不存在' END AS result
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'peixue' AND TABLE_NAME = 'order' AND COLUMN_NAME = 'wallet_amount';
SELECT
CASE WHEN COUNT(*) > 0 THEN '✅ timecard_id字段存在' ELSE '❌ timecard_id字段不存在' END AS result
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'peixue' AND TABLE_NAME = 'order' AND COLUMN_NAME = 'timecard_id';
SELECT
CASE WHEN COUNT(*) > 0 THEN '✅ package_id字段存在' ELSE '❌ package_id字段不存在' END AS result
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'peixue' AND TABLE_NAME = 'order' AND COLUMN_NAME = 'package_id';
SELECT
CASE WHEN COUNT(*) > 0 THEN '✅ coupon_id字段存在' ELSE '❌ coupon_id字段不存在' END AS result
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'peixue' AND TABLE_NAME = 'order' AND COLUMN_NAME = 'coupon_id';
SELECT
CASE WHEN COUNT(*) > 0 THEN '✅ coupon_discount字段存在' ELSE '❌ coupon_discount字段不存在' END AS result
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'peixue' AND TABLE_NAME = 'order' AND COLUMN_NAME = 'coupon_discount';
SELECT
CASE WHEN COUNT(*) > 0 THEN '✅ service_address_id字段存在' ELSE '❌ service_address_id字段不存在' END AS result
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'peixue' AND TABLE_NAME = 'order' AND COLUMN_NAME = 'service_address_id';
SELECT
CASE WHEN COUNT(*) > 0 THEN '✅ original_amount字段存在' ELSE '❌ original_amount字段不存在' END AS result
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'peixue' AND TABLE_NAME = 'order' AND COLUMN_NAME = 'original_amount';
SELECT
CASE WHEN COUNT(*) > 0 THEN '✅ discount_amount字段存在' ELSE '❌ discount_amount字段不存在' END AS result
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'peixue' AND TABLE_NAME = 'order' AND COLUMN_NAME = 'discount_amount';
-- ========================================
-- 3. 检查索引
-- ========================================
SELECT '' AS '';
SELECT '3. 检查订单表索引' AS '';
SELECT '----------------------------------------' AS '';
SELECT
CASE WHEN COUNT(*) > 0 THEN '✅ idx_timecard_id索引存在' ELSE '❌ idx_timecard_id索引不存在' END AS result
FROM information_schema.STATISTICS
WHERE TABLE_SCHEMA = 'peixue' AND TABLE_NAME = 'order' AND INDEX_NAME = 'idx_timecard_id';
SELECT
CASE WHEN COUNT(*) > 0 THEN '✅ idx_package_id索引存在' ELSE '❌ idx_package_id索引不存在' END AS result
FROM information_schema.STATISTICS
WHERE TABLE_SCHEMA = 'peixue' AND TABLE_NAME = 'order' AND INDEX_NAME = 'idx_package_id';
SELECT
CASE WHEN COUNT(*) > 0 THEN '✅ idx_coupon_id索引存在' ELSE '❌ idx_coupon_id索引不存在' END AS result
FROM information_schema.STATISTICS
WHERE TABLE_SCHEMA = 'peixue' AND TABLE_NAME = 'order' AND INDEX_NAME = 'idx_coupon_id';
SELECT
CASE WHEN COUNT(*) > 0 THEN '✅ idx_service_address_id索引存在' ELSE '❌ idx_service_address_id索引不存在' END AS result
FROM information_schema.STATISTICS
WHERE TABLE_SCHEMA = 'peixue' AND TABLE_NAME = 'order' AND INDEX_NAME = 'idx_service_address_id';
-- ========================================
-- 4. 查看测试数据
-- ========================================
SELECT '' AS '';
SELECT '4. 查看测试数据' AS '';
SELECT '----------------------------------------' AS '';
SELECT '优惠券测试数据:' AS '';
SELECT id, name, type, discount_type, discount_value, min_amount, status
FROM coupon
LIMIT 5;
SELECT '' AS '';
SELECT '用户地址测试数据:' AS '';
SELECT id, user_id, contact_name, contact_phone, province, city, district, address
FROM user_address
LIMIT 5;
-- ========================================
-- 5. 统计信息
-- ========================================
SELECT '' AS '';
SELECT '5. 数据统计' AS '';
SELECT '----------------------------------------' AS '';
SELECT
(SELECT COUNT(*) FROM coupon) AS '优惠券数量',
(SELECT COUNT(*) FROM user_coupon) AS '用户优惠券数量',
(SELECT COUNT(*) FROM user_address) AS '用户地址数量',
(SELECT COUNT(*) FROM user_package) AS '用户套餐数量';
-- ========================================
-- 完成
-- ========================================
SELECT '' AS '';
SELECT '========================================' AS '';
SELECT '✅ 方案A数据库验证完成' AS '';
SELECT '========================================' AS '';