From ef3b8c90e5187b17e2c7e522dbd95d7cd51f0b46 Mon Sep 17 00:00:00 2001 From: hy001 Date: Wed, 6 May 2026 21:28:58 +0800 Subject: [PATCH] fix: make country alias sql idempotent --- sql/20260420_sys_country_code_alias_codes.sql | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/sql/20260420_sys_country_code_alias_codes.sql b/sql/20260420_sys_country_code_alias_codes.sql index d014d0d2..f188ceb5 100644 --- a/sql/20260420_sys_country_code_alias_codes.sql +++ b/sql/20260420_sys_country_code_alias_codes.sql @@ -1,5 +1,20 @@ -ALTER TABLE `sys_country_code` - ADD COLUMN `alias_codes` varchar(255) NOT NULL DEFAULT '' COMMENT '国家code别名集合(JSON数组)' AFTER `alias_name`; +SET NAMES utf8mb4; + +SET @table_schema = DATABASE(); +SET @ddl = IF( + EXISTS( + SELECT 1 + FROM information_schema.COLUMNS + WHERE TABLE_SCHEMA = @table_schema + AND TABLE_NAME = 'sys_country_code' + AND COLUMN_NAME = 'alias_codes' + ), + 'SELECT 1', + "ALTER TABLE `sys_country_code` ADD COLUMN `alias_codes` varchar(255) NOT NULL DEFAULT '' COMMENT '国家code别名集合(JSON数组)' AFTER `alias_name`" +); +PREPARE stmt FROM @ddl; +EXECUTE stmt; +DEALLOCATE PREPARE stmt; UPDATE `sys_country_code` SET `alias_codes` = '["SA","KSA"]'