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;