SET @current_db := DATABASE();
|
|
SET @column_exists := (
|
SELECT COUNT(1)
|
FROM information_schema.COLUMNS
|
WHERE TABLE_SCHEMA = @current_db
|
AND TABLE_NAME = 'asr_bas_station_path_profile'
|
AND COLUMN_NAME = 'is_default'
|
);
|
|
SET @add_column_sql := IF(
|
@column_exists = 0,
|
'ALTER TABLE asr_bas_station_path_profile ADD COLUMN is_default TINYINT NOT NULL DEFAULT 0 COMMENT ''默认模板 1是 0否'' AFTER status',
|
'SELECT ''column is_default already exists'' '
|
);
|
PREPARE stmt_add_column FROM @add_column_sql;
|
EXECUTE stmt_add_column;
|
DEALLOCATE PREPARE stmt_add_column;
|
|
SET @default_profile_code := (
|
SELECT COALESCE(MAX(TRIM(`value`)), 'default')
|
FROM `sys_config`
|
WHERE `code` = 'stationPathDefaultProfileCode'
|
);
|
|
UPDATE `asr_bas_station_path_profile`
|
SET `is_default` = 0;
|
|
UPDATE `asr_bas_station_path_profile`
|
SET `is_default` = 1
|
WHERE `profile_code` = @default_profile_code
|
AND `status` = 1;
|
|
UPDATE `asr_bas_station_path_profile`
|
SET `is_default` = 1
|
WHERE `profile_code` = 'default'
|
AND `status` = 1
|
AND NOT EXISTS (
|
SELECT 1
|
FROM (
|
SELECT `id`
|
FROM `asr_bas_station_path_profile`
|
WHERE `is_default` = 1
|
) t
|
);
|
|
UPDATE `asr_bas_station_path_profile`
|
SET `is_default` = 1
|
WHERE `id` = (
|
SELECT `id`
|
FROM (
|
SELECT `id`
|
FROM `asr_bas_station_path_profile`
|
WHERE `status` = 1
|
ORDER BY `priority` ASC, `id` ASC
|
LIMIT 1
|
) t
|
)
|
AND NOT EXISTS (
|
SELECT 1
|
FROM (
|
SELECT `id`
|
FROM `asr_bas_station_path_profile`
|
WHERE `is_default` = 1
|
) t
|
);
|
|
DELETE FROM `sys_config`
|
WHERE `code` = 'stationPathDefaultProfileCode';
|