-- AtlasOS - Calypso -- Backup Jobs Schema -- Version: 9.0 -- Backup jobs table CREATE TABLE IF NOT EXISTS backup_jobs ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), job_id INTEGER NOT NULL UNIQUE, -- Bareos job ID job_name VARCHAR(255) NOT NULL, client_name VARCHAR(255) NOT NULL, job_type VARCHAR(50) NOT NULL, -- 'Backup', 'Restore', 'Verify', 'Copy', 'Migrate' job_level VARCHAR(50) NOT NULL, -- 'Full', 'Incremental', 'Differential', 'Since' status VARCHAR(50) NOT NULL, -- 'Running', 'Completed', 'Failed', 'Canceled', 'Waiting' bytes_written BIGINT NOT NULL DEFAULT 0, files_written INTEGER NOT NULL DEFAULT 0, duration_seconds INTEGER, started_at TIMESTAMP, ended_at TIMESTAMP, error_message TEXT, storage_name VARCHAR(255), pool_name VARCHAR(255), volume_name VARCHAR(255), created_at TIMESTAMP NOT NULL DEFAULT NOW(), updated_at TIMESTAMP NOT NULL DEFAULT NOW() ); -- Indexes for performance CREATE INDEX IF NOT EXISTS idx_backup_jobs_job_id ON backup_jobs(job_id); CREATE INDEX IF NOT EXISTS idx_backup_jobs_job_name ON backup_jobs(job_name); CREATE INDEX IF NOT EXISTS idx_backup_jobs_client_name ON backup_jobs(client_name); CREATE INDEX IF NOT EXISTS idx_backup_jobs_status ON backup_jobs(status); CREATE INDEX IF NOT EXISTS idx_backup_jobs_started_at ON backup_jobs(started_at DESC); CREATE INDEX IF NOT EXISTS idx_backup_jobs_job_type ON backup_jobs(job_type);