Path : /home/vishqocm/pcib.in/admin/database/
File Upload :
Current File : /home/vishqocm//pcib.in/admin/database/update_users.sql

-- Add phone column if it doesn't exist
SET @dbname = DATABASE();
SET @tablename = "users";
SET @columnname = "phone";
SET @columntype = "VARCHAR(20)";
SET @position = "AFTER email";

SELECT IF(
    EXISTS(
        SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS 
        WHERE TABLE_SCHEMA = @dbname
        AND TABLE_NAME = @tablename 
        AND COLUMN_NAME = @columnname
    ),
    CONCAT("ALTER TABLE ", @tablename, " MODIFY COLUMN ", @columnname, " ", @columntype, " ", @position),
    CONCAT("ALTER TABLE ", @tablename, " ADD COLUMN ", @columnname, " ", @columntype, " ", @position)
) INTO @sql;

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

-- Add bio column if it doesn't exist
SET @columnname = "bio";
SET @columntype = "TEXT";
SET @position = "AFTER phone";

SELECT IF(
    EXISTS(
        SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS 
        WHERE TABLE_SCHEMA = @dbname
        AND TABLE_NAME = @tablename 
        AND COLUMN_NAME = @columnname
    ),
    CONCAT("ALTER TABLE ", @tablename, " MODIFY COLUMN ", @columnname, " ", @columntype, " ", @position),
    CONCAT("ALTER TABLE ", @tablename, " ADD COLUMN ", @columnname, " ", @columntype, " ", @position)
) INTO @sql;

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

-- Add profile_image column if it doesn't exist
SET @columnname = "profile_image";
SET @columntype = "VARCHAR(255)";
SET @position = "AFTER bio";

SELECT IF(
    EXISTS(
        SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS 
        WHERE TABLE_SCHEMA = @dbname
        AND TABLE_NAME = @tablename 
        AND COLUMN_NAME = @columnname
    ),
    CONCAT("ALTER TABLE ", @tablename, " MODIFY COLUMN ", @columnname, " ", @columntype, " ", @position),
    CONCAT("ALTER TABLE ", @tablename, " ADD COLUMN ", @columnname, " ", @columntype, " ", @position)
) INTO @sql;

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

-- Add status column if it doesn't exist
SET @columnname = "status";
SET @columntype = "ENUM('active', 'pending', 'suspended') DEFAULT 'active'";
SET @position = "AFTER role";

SELECT IF(
    EXISTS(
        SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS 
        WHERE TABLE_SCHEMA = @dbname
        AND TABLE_NAME = @tablename 
        AND COLUMN_NAME = @columnname
    ),
    CONCAT("ALTER TABLE ", @tablename, " MODIFY COLUMN ", @columnname, " ", @columntype, " ", @position),
    CONCAT("ALTER TABLE ", @tablename, " ADD COLUMN ", @columnname, " ", @columntype, " ", @position)
) INTO @sql;

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

-- Update existing admin users
UPDATE users SET role = 'admin' WHERE username IN ('admin', 'administrator');

-- Create uploads directory if it doesn't exist
-- Note: This needs to be executed manually in the server
-- mkdir -p uploads/profiles