32 lines
1.5 KiB
Go
32 lines
1.5 KiB
Go
-- ============================================================================
|
||
-- 订单退款 / 回收所购服务:补充列(幂等,可重复执行)
|
||
--
|
||
-- 本迁移与 internal/logic/migrate.go 的 migrateColumns() 内容一致:
|
||
-- 服务端启动时 Migrate() 会自动加列(项目约定:升级只需重启服务)。
|
||
-- 本文件供运维在无法重启 / 需要手工核对时使用。
|
||
--
|
||
-- 新增列:
|
||
-- member_orders.service_revoked 退款时是否已回收所购服务:0未回收 1已回收
|
||
-- member_orders.refunded_at 退款时间
|
||
-- ============================================================================
|
||
|
||
SET @db := DATABASE();
|
||
|
||
SET @sql := (
|
||
SELECT IF(COUNT(*) = 0,
|
||
'ALTER TABLE `member_orders` ADD COLUMN `service_revoked` tinyint NOT NULL DEFAULT 0 COMMENT ''退款时是否已回收所购服务:0未回收 1已回收''',
|
||
'SELECT ''member_orders.service_revoked already exists'' AS msg')
|
||
FROM information_schema.COLUMNS
|
||
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'member_orders' AND COLUMN_NAME = 'service_revoked'
|
||
);
|
||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||
|
||
SET @sql := (
|
||
SELECT IF(COUNT(*) = 0,
|
||
'ALTER TABLE `member_orders` ADD COLUMN `refunded_at` datetime DEFAULT NULL COMMENT ''退款时间''',
|
||
'SELECT ''member_orders.refunded_at already exists'' AS msg')
|
||
FROM information_schema.COLUMNS
|
||
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'member_orders' AND COLUMN_NAME = 'refunded_at'
|
||
);
|
||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|