OMDSCloud/dictation_server/db/migrations/005-create_audio_task_option_item.sql
makabe.t a430bd01e5 Merged PR 118: DBマイグレーション
## 概要
[Task1713: DBマイグレーション](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1713)
[Task1711: [タスク追加PBIでまとめて対応] Userテーブルのaccepted_terms_versionのNOT NULL制約を削除する](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/OMDSDictation/_workitems/edit/1711)

- タスク追加で必要となるテーブル作成するマイグレーションファイルを追加
  - 音声ファイル
  - 文字起こしタスク
  - オプションアイテム(音声ファイルメタデータ)
- Userテーブルの「同意済み利用規約バージョン」カラムのNOT NULL制約を外すマイグレーションファイルを追加

## レビューポイント
- タスク追加で必要となるテーブルを1ファイルにまとめているが問題ないか
- 各テーブルのカラム名、型は適切か

## UIの変更
- 無し

## 動作確認状況
- ローカルで確認
  - UP/DOWN
2023-05-26 06:23:41 +00:00

50 lines
2.9 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- +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`;