OMDSCloud/dictation_server/db/migrations/056-add_tasks_index.sql
makabe.t 878657ad4a Merged PR 713: 行ロック横展開3
## 概要
[Task3471: 行ロック横展開3](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3471)

- 以下のリポジトリのメソッドに行ロックを追加しました。
- tasks
  - checkout
    - タスク、チェックアウト情報にロックを追加して途中で変更できないようにする
  - checkin
    - タスクのチェックにロックを追加してタスクのステータスを途中で変更できないようにする
  - cancel
    - タスクのチェックにロックを追加してタスクのステータスを途中で変更できないようにする
  - suspend
    - タスクのチェックにロックを追加してタスクのステータスを途中で変更できないようにする
  - backup
    - タスクのチェックにロックを追加してタスクのステータスを途中で変更できないようにする
  - create
    - タスクのチェックにロックを追加してJobNumberのチェックで重複しないようにする
  - changeCheckoutPermission
    - タスク、チェックアウト候補のチェックにロックを追加して途中で変更されないようにする
  - autoRouting
    - 処理中にワークフロー・ワークタイプの取得にロックを追加して意図しない対象のでチェックアウト権限が作成されないようにする
    - ワークタイプ・ワークフローの更新/削除時にもロックを追加

こちらの資料を参考に対応しています。
[行ロックに関する影響調査](https://ndstokyo.sharepoint.com//r/sites/Piranha/Shared%20Documents/General/OMDS/%E8%A1%8C%E3%83%AD%E3%83%83%E3%82%AF%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E5%BD%B1%E9%9F%BF%E8%AA%BF%E6%9F%BB.xlsx?d=wdd6f3d97f7b04a538095c459f8eee2eb&csf=1&web=1&e=9M43di)

対応箇所について以下にまとめました。
[Task3471](https://ndstokyo.sharepoint.com/:f:/r/sites/Piranha/Shared%20Documents/General/OMDS/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88/Task3471?csf=1&web=1&e=wptJqD)

## レビューポイント
- 対応箇所は適切でしょうか?

## UIの変更
- なし

## 動作確認状況
- ローカルで確認
2024-02-05 06:19:24 +00:00

27 lines
1.7 KiB
SQL

-- +migrate Up
ALTER TABLE `tasks` ADD INDEX `idx_tasks_audio_file_id` (audio_file_id);
ALTER TABLE `tasks` ADD INDEX `idx_tasks_status` (status);
ALTER TABLE `tasks` ADD INDEX `idx_tasks_typist_user_id` (typist_user_id);
ALTER TABLE `tasks` ADD INDEX `idx_tasks_is_job_number_enabled` (is_job_number_enabled);
ALTER TABLE `checkout_permission` ADD INDEX `idx_checkout_permission_task_id` (task_id);
ALTER TABLE `checkout_permission` ADD INDEX `idx_checkout_permission_user_group_id` (user_group_id);
ALTER TABLE `checkout_permission` ADD INDEX `idx_checkout_permission_user_id` (user_id);
ALTER TABLE `users` ADD INDEX `idx_users_role` (role);
ALTER TABLE `users` ADD INDEX `idx_users_author_id` (author_id);
ALTER TABLE `users` ADD INDEX `idx_users_deleted_at` (deleted_at);
ALTER TABLE `worktypes` ADD INDEX `idx_worktypes_custom_worktype_id` (custom_worktype_id);
ALTER TABLE `workflows` ADD INDEX `idx_workflows_account_id` (account_id);
-- +migrate Down
ALTER TABLE `tasks` DROP INDEX `idx_tasks_audio_file_id`;
ALTER TABLE `tasks` DROP INDEX `idx_tasks_status`;
ALTER TABLE `tasks` DROP INDEX `idx_tasks_typist_user_id`;
ALTER TABLE `tasks` DROP INDEX `idx_tasks_is_job_number_enabled`;
ALTER TABLE `checkout_permission` DROP INDEX `idx_checkout_permission_task_id`;
ALTER TABLE `checkout_permission` DROP INDEX `idx_checkout_permission_user_group_id`;
ALTER TABLE `checkout_permission` DROP INDEX `idx_checkout_permission_user_id`;
ALTER TABLE `users` DROP INDEX `idx_users_role`;
ALTER TABLE `users` DROP INDEX `idx_users_author_id`;
ALTER TABLE `users` DROP INDEX `idx_users_deleted_at`;
ALTER TABLE `worktypes` DROP INDEX `idx_worktypes_custom_worktype_id`;
ALTER TABLE `workflows` DROP INDEX `idx_workflows_account_id`;