Files
Aislo/migrations/001_create_upload_tables.sql
2026-07-10 16:41:22 +09:00

33 lines
1.3 KiB
SQL

-- B03 청크 업로드 관련 테이블 생성
CREATE TABLE IF NOT EXISTS upload_sessions (
id VARCHAR(36) NOT NULL PRIMARY KEY,
project_id VARCHAR(36) NOT NULL,
original_filename VARCHAR(255) NOT NULL,
file_size_bytes BIGINT NOT NULL,
chunk_size_bytes BIGINT NOT NULL,
total_chunks INT NOT NULL,
completed_chunks INT DEFAULT 0,
status ENUM('PENDING', 'IN_PROGRESS', 'COMPLETED', 'FAILED') DEFAULT 'PENDING',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE,
INDEX idx_project_id (project_id),
INDEX idx_status (status),
INDEX idx_created_at (created_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS upload_chunks (
id INT AUTO_INCREMENT PRIMARY KEY,
session_id VARCHAR(36) NOT NULL,
chunk_index INT NOT NULL,
chunk_hash VARCHAR(64),
size_bytes BIGINT NOT NULL,
stored_at VARCHAR(255),
completed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
UNIQUE KEY uq_session_chunk (session_id, chunk_index),
FOREIGN KEY (session_id) REFERENCES upload_sessions(id) ON DELETE CASCADE,
INDEX idx_session_id (session_id),
INDEX idx_completed_at (completed_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;