diff --git a/migrations/sql/20251119_add_encrypted_data_to_files.sql b/migrations/sql/20251119_add_encrypted_data_to_files.sql index 33dbb2d..83d2b23 100644 --- a/migrations/sql/20251119_add_encrypted_data_to_files.sql +++ b/migrations/sql/20251119_add_encrypted_data_to_files.sql @@ -1,22 +1,9 @@ -- Add encrypted_data column to files table for deletion recovery -- This column stores encrypted file data for recovery purposes +-- Date: 2025-11-19 -SET @column_exists = ( - SELECT COUNT(*) - FROM INFORMATION_SCHEMA.COLUMNS - WHERE TABLE_SCHEMA = DATABASE() - AND TABLE_NAME = 'files' - AND COLUMN_NAME = 'encrypted_data' -); - -SET @add_column_sql = IF(@column_exists = 0, - 'ALTER TABLE files ADD COLUMN encrypted_data LONGBLOB NULL AFTER key_id', - 'SELECT "Column encrypted_data already exists" AS Info' -); - -PREPARE stmt FROM @add_column_sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; +ALTER TABLE files +ADD COLUMN IF NOT EXISTS encrypted_data LONGBLOB NULL COMMENT 'Encrypted file data for recovery' AFTER key_id; diff --git a/migrations/sql/20251119_migrate_operation_types.sql b/migrations/sql/20251119_migrate_operation_types.sql index 416e206..efebd05 100644 --- a/migrations/sql/20251119_migrate_operation_types.sql +++ b/migrations/sql/20251119_migrate_operation_types.sql @@ -32,6 +32,8 @@ WHERE is_deleted = 0 -- 5. Keep RENAME as is (no change needed) -- RENAME operations remain as RENAME +-- Migration complete + diff --git a/migrations/sql/20251119_redefine_operation_type.sql b/migrations/sql/20251119_redefine_operation_type.sql index 69c366b..b311344 100644 --- a/migrations/sql/20251119_redefine_operation_type.sql +++ b/migrations/sql/20251119_redefine_operation_type.sql @@ -2,14 +2,8 @@ -- Date: 2025-11-19 -- Change operation_type column to support CREATE, UPDATE, DELETE, RENAME, RESTORE -ALTER TABLE files -MODIFY COLUMN operation_type ENUM('CREATE', 'UPDATE', 'DELETE', 'RENAME', 'RESTORE', 'UPLOAD') -DEFAULT 'CREATE' +-- Using CHANGE COLUMN instead of MODIFY COLUMN for better prepared statement compatibility +ALTER TABLE files +CHANGE COLUMN operation_type operation_type ENUM('CREATE', 'UPDATE', 'DELETE', 'RENAME', 'RESTORE', 'UPLOAD') +DEFAULT 'CREATE' COMMENT 'File operation type: CREATE=new file, UPDATE=new version, DELETE=deleted, RENAME=renamed, RESTORE=restored from deletion, UPLOAD=legacy'; - - - - - - -