51 lines
2.3 KiB
Go
51 lines
2.3 KiB
Go
-- ============================================================================
|
||
-- 反馈回复:官方回复 + 用户端未读提醒(幂等,可重复执行)
|
||
--
|
||
-- 本迁移与 internal/logic/migrate.go 的 migrateColumns() 内容一致:
|
||
-- 服务端启动时 Migrate() 会自动加列(项目约定:升级只需重启服务)。
|
||
--
|
||
-- 新增列:
|
||
-- feedbacks.reply_content 官方回复内容
|
||
-- feedbacks.reply_by 回复管理员 id,0=无
|
||
-- feedbacks.reply_at 最近回复时间
|
||
-- feedbacks.reply_read 用户端已读:0有新回复未读 1已读
|
||
-- ============================================================================
|
||
|
||
SET @db := DATABASE();
|
||
|
||
SET @sql := (
|
||
SELECT IF(COUNT(*) = 0,
|
||
'ALTER TABLE `feedbacks` ADD COLUMN `reply_content` varchar(1000) NOT NULL DEFAULT '''' COMMENT ''官方回复内容''',
|
||
'SELECT ''feedbacks.reply_content already exists'' AS msg')
|
||
FROM information_schema.COLUMNS
|
||
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'feedbacks' AND COLUMN_NAME = 'reply_content'
|
||
);
|
||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||
|
||
SET @sql := (
|
||
SELECT IF(COUNT(*) = 0,
|
||
'ALTER TABLE `feedbacks` ADD COLUMN `reply_by` bigint NOT NULL DEFAULT 0 COMMENT ''回复管理员 id,0=无''',
|
||
'SELECT ''feedbacks.reply_by already exists'' AS msg')
|
||
FROM information_schema.COLUMNS
|
||
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'feedbacks' AND COLUMN_NAME = 'reply_by'
|
||
);
|
||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||
|
||
SET @sql := (
|
||
SELECT IF(COUNT(*) = 0,
|
||
'ALTER TABLE `feedbacks` ADD COLUMN `reply_at` datetime DEFAULT NULL COMMENT ''最近回复时间''',
|
||
'SELECT ''feedbacks.reply_at already exists'' AS msg')
|
||
FROM information_schema.COLUMNS
|
||
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'feedbacks' AND COLUMN_NAME = 'reply_at'
|
||
);
|
||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||
|
||
SET @sql := (
|
||
SELECT IF(COUNT(*) = 0,
|
||
'ALTER TABLE `feedbacks` ADD COLUMN `reply_read` tinyint NOT NULL DEFAULT 0 COMMENT ''用户端已读:0有新回复未读 1已读''',
|
||
'SELECT ''feedbacks.reply_read already exists'' AS msg')
|
||
FROM information_schema.COLUMNS
|
||
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'feedbacks' AND COLUMN_NAME = 'reply_read'
|
||
);
|
||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|