This commit is contained in:
78
database/martial-db/add_venue_fields.sql
Normal file
78
database/martial-db/add_venue_fields.sql
Normal file
@@ -0,0 +1,78 @@
|
||||
-- ================================================================
|
||||
-- 场地表字段修复脚本(保留数据版本)
|
||||
-- 用途:为现有 martial_venue 表添加缺失的字段,不删除已有数据
|
||||
-- 日期:2025-12-06
|
||||
-- ================================================================
|
||||
|
||||
-- 检查并添加 max_capacity 字段
|
||||
SET @col_exists = 0;
|
||||
SELECT COUNT(*) INTO @col_exists
|
||||
FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'martial_venue'
|
||||
AND COLUMN_NAME = 'max_capacity';
|
||||
|
||||
SET @sql = IF(@col_exists = 0,
|
||||
'ALTER TABLE martial_venue ADD COLUMN max_capacity int(11) DEFAULT 100 COMMENT ''最大容纳人数'' AFTER venue_code',
|
||||
'SELECT ''max_capacity 字段已存在'' AS info'
|
||||
);
|
||||
|
||||
PREPARE stmt FROM @sql;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
|
||||
-- 检查并添加 facilities 字段(如果也缺失)
|
||||
SET @col_exists = 0;
|
||||
SELECT COUNT(*) INTO @col_exists
|
||||
FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'martial_venue'
|
||||
AND COLUMN_NAME = 'facilities';
|
||||
|
||||
SET @sql = IF(@col_exists = 0,
|
||||
'ALTER TABLE martial_venue ADD COLUMN facilities varchar(500) DEFAULT NULL COMMENT ''场地设施'' AFTER description',
|
||||
'SELECT ''facilities 字段已存在'' AS info'
|
||||
);
|
||||
|
||||
PREPARE stmt FROM @sql;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
|
||||
-- 检查并添加 status 字段(如果也缺失)
|
||||
SET @col_exists = 0;
|
||||
SELECT COUNT(*) INTO @col_exists
|
||||
FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'martial_venue'
|
||||
AND COLUMN_NAME = 'status';
|
||||
|
||||
SET @sql = IF(@col_exists = 0,
|
||||
'ALTER TABLE martial_venue ADD COLUMN status int(2) DEFAULT 1 COMMENT ''状态(0-禁用,1-启用)'' AFTER sort_order',
|
||||
'SELECT ''status 字段已存在'' AS info'
|
||||
);
|
||||
|
||||
PREPARE stmt FROM @sql;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
|
||||
-- ================================================================
|
||||
-- 验证表结构
|
||||
-- ================================================================
|
||||
SELECT '字段添加完成,正在验证...' AS info;
|
||||
|
||||
SELECT COLUMN_NAME, COLUMN_TYPE, COLUMN_DEFAULT, IS_NULLABLE, COLUMN_COMMENT
|
||||
FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'martial_venue'
|
||||
ORDER BY ORDINAL_POSITION;
|
||||
|
||||
-- 检查 max_capacity 字段是否存在
|
||||
SELECT
|
||||
CASE
|
||||
WHEN COUNT(*) > 0 THEN '✓ max_capacity 字段已成功添加'
|
||||
ELSE '✗ max_capacity 字段仍然缺失'
|
||||
END AS result
|
||||
FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'martial_venue'
|
||||
AND COLUMN_NAME = 'max_capacity';
|
||||
Reference in New Issue
Block a user