From 90a4d99cf555213ea139736ea709ba47ddc5ce12 Mon Sep 17 00:00:00 2001 From: "makabe.t" Date: Mon, 2 Oct 2023 01:45:04 +0000 Subject: [PATCH] =?UTF-8?q?Merged=20PR=20446:=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 ## 概要 [Task2733: DBマイグレーション](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2733) - 以下のテーブルを追加するマイグレーションファイルを追加しました。 - ワークフローテーブル - ルーティング候補テーブル ## レビューポイント - テーブル名、カラム名は適切か - 外部キー制約は適切か ## UIの変更 - なし ## 動作確認状況 - ローカルで確認 - migurate up/down --- .../db/migrations/041_create_workflow.sql | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 dictation_server/db/migrations/041_create_workflow.sql diff --git a/dictation_server/db/migrations/041_create_workflow.sql b/dictation_server/db/migrations/041_create_workflow.sql new file mode 100644 index 0000000..3063281 --- /dev/null +++ b/dictation_server/db/migrations/041_create_workflow.sql @@ -0,0 +1,44 @@ +-- +migrate Up +CREATE TABLE IF NOT EXISTS `workflows` ( + `id` BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY COMMENT 'workflowの内部ID', + `account_id` BIGINT UNSIGNED NOT NULL COMMENT 'アカウントID', + `author_id` BIGINT UNSIGNED NOT NULL COMMENT 'authorユーザーの内部ID', + `worktype_id`BIGINT UNSIGNED COMMENT 'Worktypeの内部ID', + `template_id` BIGINT UNSIGNED COMMENT 'テンプレートファイルの内部ID', + `created_by` VARCHAR(255) COMMENT '作成者', + `created_at` TIMESTAMP DEFAULT now() COMMENT '作成時刻', + `updated_by` VARCHAR(255) COMMENT '更新者', + `updated_at` TIMESTAMP DEFAULT now() on UPDATE now() COMMENT '更新時刻', + UNIQUE worktype_id_index (account_id, author_id, worktype_id), + CONSTRAINT `workflows_fk_account_id` FOREIGN KEY (account_id) REFERENCES accounts(id) ON DELETE CASCADE, + CONSTRAINT `workflows_fk_author_id` FOREIGN KEY (author_id) REFERENCES users(id), + CONSTRAINT `workflows_fk_worktype_id` FOREIGN KEY (worktype_id) REFERENCES worktypes(id), + CONSTRAINT `workflows_fk_template_id` FOREIGN KEY (template_id) REFERENCES template_files(id) +) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci; + +CREATE TABLE IF NOT EXISTS `workflow_typists` ( + `id` BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY COMMENT 'worktypeの内部ID', + `workflow_id` BIGINT UNSIGNED NOT NULL COMMENT 'workflowの内部ID', + `typist_id` BIGINT UNSIGNED COMMENT 'タイピストユーザーの内部ID', + `typist_group_id` BIGINT UNSIGNED COMMENT 'タイピストグループの内部ID', + `created_by` VARCHAR(255) COMMENT '作成者', + `created_at` TIMESTAMP DEFAULT now() COMMENT '作成時刻', + `updated_by` VARCHAR(255) COMMENT '更新者', + `updated_at` TIMESTAMP DEFAULT now() on UPDATE now() COMMENT '更新時刻', + CONSTRAINT `workflow_typists_fk_workflow_id` FOREIGN KEY (workflow_id) REFERENCES workflows(id) ON DELETE CASCADE, + CONSTRAINT `workflow_typists_fk_typist_id` FOREIGN KEY (typist_id) REFERENCES users(id), + CONSTRAINT `workflow_typists_fk_typist_group_id` FOREIGN KEY (typist_group_id) REFERENCES user_group(id) +) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci; + + + +-- +migrate Down +ALTER TABLE `workflows` DROP FOREIGN KEY `workflows_fk_account_id`; +ALTER TABLE `workflows` DROP FOREIGN KEY `workflows_fk_author_id`; +ALTER TABLE `workflows` DROP FOREIGN KEY `workflows_fk_worktype_id`; +ALTER TABLE `workflows` DROP FOREIGN KEY `workflows_fk_template_id`; +ALTER TABLE `workflow_typists` DROP FOREIGN KEY `workflow_typists_fk_workflow_id`; +ALTER TABLE `workflow_typists` DROP FOREIGN KEY `workflow_typists_fk_typist_id`; +ALTER TABLE `workflow_typists` DROP FOREIGN KEY `workflow_typists_fk_typist_group_id`; +DROP TABLE IF EXISTS `workflows`; +DROP TABLE IF EXISTS `workflow_typists`; \ No newline at end of file