fix(user): modify SQL migration scripts to add columns only if they do not exist
This commit is contained in:
parent
2dae837323
commit
396862f59d
@ -1,2 +1,2 @@
|
|||||||
ALTER TABLE `ads`
|
ALTER TABLE `ads`
|
||||||
ADD COLUMN `description` VARCHAR(255) DEFAULT '' COMMENT 'Description';
|
MODIFY COLUMN `description` VARCHAR(255) DEFAULT '' COMMENT 'Description';
|
||||||
|
|||||||
@ -1,3 +1,3 @@
|
|||||||
ALTER TABLE `User`
|
ALTER TABLE `user`
|
||||||
DROP COLUMN `algo`,
|
DROP COLUMN `algo`,
|
||||||
DROP COLUMN `salt`;
|
DROP COLUMN `salt`;
|
||||||
|
|||||||
@ -1,3 +1,35 @@
|
|||||||
ALTER TABLE `User`
|
-- 添加 algo 列(如果不存在)
|
||||||
ADD COLUMN IF NOT EXISTS `algo` VARCHAR(20) NOT NULL DEFAULT 'default' COMMENT 'Encryption Algorithm' AFTER `password`,
|
SET @dbname = DATABASE();
|
||||||
ADD COLUMN IF NOT EXISTS `salt` VARCHAR(20) NOT NULL DEFAULT 'default' COMMENT 'Password Salt' AFTER `algo`;
|
SET @tablename = 'user';
|
||||||
|
SET @colname = 'algo';
|
||||||
|
SET @sql = (
|
||||||
|
SELECT IF(
|
||||||
|
COUNT(*) = 0,
|
||||||
|
'ALTER TABLE `user` ADD COLUMN `algo` VARCHAR(20) NOT NULL DEFAULT ''default'' COMMENT ''Encryption Algorithm'' AFTER `password`;',
|
||||||
|
'SELECT "Column `algo` already exists";'
|
||||||
|
)
|
||||||
|
FROM information_schema.COLUMNS
|
||||||
|
WHERE TABLE_SCHEMA = @dbname
|
||||||
|
AND TABLE_NAME = @tablename
|
||||||
|
AND COLUMN_NAME = @colname
|
||||||
|
);
|
||||||
|
PREPARE stmt FROM @sql;
|
||||||
|
EXECUTE stmt;
|
||||||
|
DEALLOCATE PREPARE stmt;
|
||||||
|
|
||||||
|
-- 添加 salt 列(如果不存在)
|
||||||
|
SET @colname = 'salt';
|
||||||
|
SET @sql = (
|
||||||
|
SELECT IF(
|
||||||
|
COUNT(*) = 0,
|
||||||
|
'ALTER TABLE `User` ADD COLUMN `salt` VARCHAR(20) NOT NULL DEFAULT ''default'' COMMENT ''Password Salt'' AFTER `algo`;',
|
||||||
|
'SELECT "Column `salt` already exists";'
|
||||||
|
)
|
||||||
|
FROM information_schema.COLUMNS
|
||||||
|
WHERE TABLE_SCHEMA = @dbname
|
||||||
|
AND TABLE_NAME = @tablename
|
||||||
|
AND COLUMN_NAME = @colname
|
||||||
|
);
|
||||||
|
PREPARE stmt FROM @sql;
|
||||||
|
EXECUTE stmt;
|
||||||
|
DEALLOCATE PREPARE stmt;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user