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

162 lines
6.3 KiB
MySQL
Raw Normal View History

2026-02-28 17:26:03 +08:00
-- ========================================
-- 验证方案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 '';