蜜恋后端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

52 lines
2.2 KiB

USE dating_app;
-- Keep existing posts readable as plain text; new metadata is optional.
SET @column_exists = (
SELECT COUNT(*) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'posts' AND COLUMN_NAME = 'content_format'
);
SET @statement = IF(@column_exists = 0,
'ALTER TABLE posts ADD COLUMN content_format VARCHAR(10) NOT NULL DEFAULT ''plain'' AFTER post_type', 'SELECT 1');
PREPARE migration_statement FROM @statement;
EXECUTE migration_statement;
DEALLOCATE PREPARE migration_statement;
SET @column_exists = (
SELECT COUNT(*) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'posts' AND COLUMN_NAME = 'feeling'
);
SET @statement = IF(@column_exists = 0,
'ALTER TABLE posts ADD COLUMN feeling VARCHAR(50) NULL AFTER content_format', 'SELECT 1');
PREPARE migration_statement FROM @statement;
EXECUTE migration_statement;
DEALLOCATE PREPARE migration_statement;
SET @column_exists = (
SELECT COUNT(*) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'posts' AND COLUMN_NAME = 'location_name'
);
SET @statement = IF(@column_exists = 0,
'ALTER TABLE posts ADD COLUMN location_name VARCHAR(255) NULL AFTER feeling', 'SELECT 1');
PREPARE migration_statement FROM @statement;
EXECUTE migration_statement;
DEALLOCATE PREPARE migration_statement;
SET @column_exists = (
SELECT COUNT(*) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'posts' AND COLUMN_NAME = 'location_latitude'
);
SET @statement = IF(@column_exists = 0,
'ALTER TABLE posts ADD COLUMN location_latitude DOUBLE NULL AFTER location_name', 'SELECT 1');
PREPARE migration_statement FROM @statement;
EXECUTE migration_statement;
DEALLOCATE PREPARE migration_statement;
SET @column_exists = (
SELECT COUNT(*) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'posts' AND COLUMN_NAME = 'location_longitude'
);
SET @statement = IF(@column_exists = 0,
'ALTER TABLE posts ADD COLUMN location_longitude DOUBLE NULL AFTER location_latitude', 'SELECT 1');
PREPARE migration_statement FROM @statement;
EXECUTE migration_statement;
DEALLOCATE PREPARE migration_statement;