From a430bd01e508102c8ad2f8e6ac5dabcc9c33d1f8 Mon Sep 17 00:00:00 2001 From: "makabe.t" Date: Fri, 26 May 2023 06:23:41 +0000 Subject: [PATCH] =?UTF-8?q?Merged=20PR=20118:=20DB=E3=83=9E=E3=82=A4?= =?UTF-8?q?=E3=82=B0=E3=83=AC=E3=83=BC=E3=82=B7=E3=83=A7=E3=83=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 概要 [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 --- .../005-create_audio_task_option_item.sql | 50 +++++++++++++++++++ .../006-fix_users_accepted_terms_version.sql | 5 ++ 2 files changed, 55 insertions(+) create mode 100644 dictation_server/db/migrations/005-create_audio_task_option_item.sql create mode 100644 dictation_server/db/migrations/006-fix_users_accepted_terms_version.sql diff --git a/dictation_server/db/migrations/005-create_audio_task_option_item.sql b/dictation_server/db/migrations/005-create_audio_task_option_item.sql new file mode 100644 index 0000000..c81b578 --- /dev/null +++ b/dictation_server/db/migrations/005-create_audio_task_option_item.sql @@ -0,0 +1,50 @@ +-- +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`; \ No newline at end of file diff --git a/dictation_server/db/migrations/006-fix_users_accepted_terms_version.sql b/dictation_server/db/migrations/006-fix_users_accepted_terms_version.sql new file mode 100644 index 0000000..02c31d4 --- /dev/null +++ b/dictation_server/db/migrations/006-fix_users_accepted_terms_version.sql @@ -0,0 +1,5 @@ +-- +migrate Up +ALTER TABLE `users` MODIFY COLUMN `accepted_terms_version` VARCHAR(255) COMMENT '同意済み利用規約バージョン'; + +-- +migrate Down +ALTER TABLE `users` MODIFY COLUMN `accepted_terms_version` VARCHAR(255) NOT NULL COMMENT '同意済み利用規約バージョン'; \ No newline at end of file