Sindbad~EG File Manager
-- Migration: Add membershipcard_id column to members table
-- Date: 2025-10-06
-- Description: Adds membershipcard_id column if it doesn't exist
-- Check if column exists and add if missing
SET @column_exists = (
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'members'
AND COLUMN_NAME = 'membershipcard_id'
);
-- Add column if it doesn't exist
SET @sql = IF(@column_exists = 0,
'ALTER TABLE members ADD COLUMN membershipcard_id VARCHAR(50) UNIQUE AFTER assembly_id',
'SELECT "Column membershipcard_id already exists" as message'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
-- Update existing records with generated membership card IDs if they don't have them
UPDATE members
SET membershipcard_id = CONCAT(
'MC',
YEAR(CURDATE()),
LPAD(id, 6, '0')
)
WHERE membershipcard_id IS NULL OR membershipcard_id = '';
-- Add index if it doesn't exist
SET @index_exists = (
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'members'
AND INDEX_NAME = 'idx_membershipcard_id'
);
SET @sql = IF(@index_exists = 0,
'ALTER TABLE members ADD INDEX idx_membershipcard_id (membershipcard_id)',
'SELECT "Index idx_membershipcard_id already exists" as message'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists