26 lines
1.0 KiB
SQL
26 lines
1.0 KiB
SQL
-- Migration: Add mailbox statuses table
|
|
CREATE TABLE IF NOT EXISTS mailbox_statuses (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
name VARCHAR(50) NOT NULL,
|
|
color VARCHAR(20) DEFAULT '#000000',
|
|
is_default BOOLEAN DEFAULT FALSE,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- Insert initial statuses if they don't exist
|
|
INSERT IGNORE INTO mailbox_statuses (id, name, color, is_default) VALUES
|
|
(1, 'received', '#6c757d', TRUE),
|
|
(2, 'in_progress', '#0d6efd', FALSE),
|
|
(3, 'closed', '#198754', FALSE);
|
|
|
|
-- Add status_id to mailbox
|
|
ALTER TABLE mailbox ADD COLUMN IF NOT EXISTS status_id INT;
|
|
|
|
-- Update status_id based on existing ENUM values
|
|
UPDATE mailbox SET status_id = 1 WHERE status = 'received' AND status_id IS NULL;
|
|
UPDATE mailbox SET status_id = 2 WHERE status = 'in_progress' AND status_id IS NULL;
|
|
UPDATE mailbox SET status_id = 3 WHERE status = 'closed' AND status_id IS NULL;
|
|
|
|
-- Set default status_id for any NULLs
|
|
UPDATE mailbox SET status_id = 1 WHERE status_id IS NULL;
|