-- +migrate Up -- 音声ファイルテーブル CREATE TABLE IF NOT EXISTS `audio_files` ( `id` BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY COMMENT '音声ファイルID', `account_id` BIGINT UNSIGNED NOT NULL COMMENT 'アカウントID', `owner_user_id` BIGINT UNSIGNED NOT NULL COMMENT '所有者ユーザーID', `url` VARCHAR(2048) NOT NULL COMMENT 'URL', `file_name` VARCHAR(1024) NOT NULL COMMENT 'ファイル名', `author_id` VARCHAR(255) NOT NULL COMMENT 'AuthorID', `work_type_id` VARCHAR(255) NOT NULL COMMENT 'WorkTypeID', `started_at` TIMESTAMP(3) NOT NULL COMMENT '録音開始日時', `duration` VARCHAR(255) NOT NULL COMMENT '録音時間', `finished_at` TIMESTAMP(3) NOT NULL COMMENT '録音終了日時', `uploaded_at` TIMESTAMP(3) NOT NULL COMMENT 'アップロード日時', `file_size` INT NOT NULL COMMENT 'ファイルサイズ(Byte)', `priority` VARCHAR(10) NOT NULL COMMENT '優先度', `audio_format` VARCHAR(255) NOT NULL COMMENT '音声フォーマット', `comment` VARCHAR(255) COMMENT 'コメント', `deleted_at` TIMESTAMP(3) COMMENT '削除日時', `is_encrypted` BOOLEAN NOT NULL COMMENT '暗号化されているか' ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci; -- 文字起こしタスクテーブル CREATE TABLE IF NOT EXISTS `tasks` ( `id` BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY COMMENT 'タスクID', `job_number` VARCHAR(10) NOT NULL COMMENT 'JOBナンバー', `account_id` BIGINT UNSIGNED NOT NULL COMMENT 'タスクに紐づいたアカウントID', `is_job_number_enabled` BOOLEAN COMMENT 'このタスクのJOBナンバーは現在有効か', `audio_file_id` BIGINT UNSIGNED NOT NULL COMMENT '音声ファイルID', `status` VARCHAR(16) NOT NULL COMMENT 'ステータス', `typist_user_id` BIGINT UNSIGNED COMMENT '割り当てユーザ', `priority` VARCHAR(10) NOT NULL COMMENT '優先度', `template_file_id` BIGINT UNSIGNED COMMENT '文字起こしテンプレートファイルID', `started_at` TIMESTAMP(3) COMMENT '文字起こし開始日時', `finished_at` TIMESTAMP(3) COMMENT '文字起こし終了日時', UNIQUE job_number_index (job_number, account_id, is_job_number_enabled) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci; -- オプションアイテム(音声ファイルメタデータ)テーブル CREATE TABLE IF NOT EXISTS `audio_option_items` ( `id` BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY COMMENT 'オプションアイテムID', `audio_file_id` BIGINT UNSIGNED NOT NULL COMMENT '音声ファイルID', `label` VARCHAR(255) NOT NULL COMMENT 'オプションアイテムラベル', `value` VARCHAR(255) NOT NULL COMMENT 'オプションアイテム値' ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci; -- +migrate Down DROP TABLE `audio_files`; DROP TABLE `tasks`; DROP TABLE `audio_option_items`;