diff --git a/initialize/migrate/database/02115_ads.up.sql b/initialize/migrate/database/02115_ads.up.sql index 51778a5..39cfaf2 100644 --- a/initialize/migrate/database/02115_ads.up.sql +++ b/initialize/migrate/database/02115_ads.up.sql @@ -1,2 +1,20 @@ -ALTER TABLE `ads` - MODIFY COLUMN `description` VARCHAR(255) DEFAULT '' COMMENT 'Description'; +-- 只有当 ads 表中不存在 description 字段时才添加 +SET +@col_exists := ( + SELECT COUNT(*) + FROM INFORMATION_SCHEMA.COLUMNS + WHERE TABLE_SCHEMA = DATABASE() + AND TABLE_NAME = 'ads' + AND COLUMN_NAME = 'description' +); + +SET +@query := IF( + @col_exists = 0, + 'ALTER TABLE `ads` ADD COLUMN `description` VARCHAR(255) DEFAULT '''' COMMENT ''Description'';', + 'SELECT "Column `description` already exists"' +); + +PREPARE stmt FROM @query; +EXECUTE stmt; +DEALLOCATE PREPARE stmt;