【注記】 TeamWorks 提供のテーブル定義書(全29テーブル)を
prisma/schema.prisma手書き作成(D-056)のために転記した記録です。3分割の1つです。 当時の記録であり、現行方針ではありません。 定義書には誤記・廃止済み項目が含まれることが実DDL照合で判明しており、以後は実DDLを正とします(D-059)。 現在のスキーマの正はprisma/schema.prisma、経緯はdocs/decisions.mdとdocs/handoff.mdを参照してください。
役割: グループ情報を管理する。新規追加 UI: 要 備考: 新規追加 UI: 要
| # | 論理カラム名 | 物理カラム名 | データ型 | サイズ | 必須 | 初期値 | キー | 備考 |
|---|---|---|---|---|---|---|---|---|
| 1 | 管理ID | id | unsigned bigint | ○ | pk | auto increment | ||
| 2 | グループ名 | group_name | varchar | 100 | ○ | |||
| 3 | 無効フラグ | inactive | unsigned tinyint | ○ | 0 | 0: 有効, 1: 無効 | ||
| 4 | 登録日時 | created_at | timestamp | ○ | システム日付 | |||
| 5 | 更新日時 | updated_at | timestamp | ○ | システム日付 | テーブル更新時, システム日付を適用 | ||
| 6 | 削除日時 | deleted_at | timestamp | 有効: null / 無効: 無効を設定した日時 |
インデックス: | 名称 | タイプ | 対象カラム | |---|---|---| | pk_groups_id | primary key | id |
(インデックス欄2〜5は空欄)
役割: メーカー情報を管理する。新規追加 UI: 要, (今回の対応では)設定ファイルで代替する 備考: 新規追加 UI: 要, (今回の対応では)設定ファイルで代替する
| # | 論理カラム名 | 物理カラム名 | データ型 | サイズ | 必須 | 初期値 | キー | 備考 |
|---|---|---|---|---|---|---|---|---|
| 1 | 管理ID | id | unsigned bigint | ○ | pk | auto increment | ||
| 2 | メーカー名 | maker_name | varchar | 100 | ○ | |||
| 3 | 無効フラグ | inactive | unsigned tinyint | ○ | 0 | 0: 有効, 1: 無効 | ||
| 4 | 登録日時 | created_at | timestamp | ○ | システム日付 | |||
| 5 | 更新日時 | updated_at | timestamp | ○ | システム日付 | テーブル更新時, システム日付を適用 | ||
| 6 | 削除日時 | deleted_at | timestamp | 有効: null / 無効: 無効を設定した日時 |
インデックス: | 名称 | タイプ | 対象カラム | |---|---|---| | pk_maker_id | primary key | id |
(インデックス名称は「pk_makerid」で、単数形「maker」。他テーブルの「pk<テーブル名(複数形)>_id」という命名規則と異なる点に注意。インデックス欄2〜5は空欄)
役割: 機器情報を管理する。新規追加 UI: 要 modelは言語で予約されていた為, テーブル名はdevicesとし, カラムではmodelを使用する. 備考: 新規追加 UI: 要 modelは言語で予約されていた為, テーブル名はdevicesとし, カラムではmodelを使用する.
| # | 論理カラム名 | 物理カラム名 | データ型 | サイズ | 必須 | 初期値 | キー | 備考 |
|---|---|---|---|---|---|---|---|---|
| 1 | 管理ID | id | unsigned bigint | ○ | pk | auto increment | ||
| 2 | メーカーID | maker_id | unsigned tinyint | ○ | ||||
| 3 | 機種名 | model_name | varchar | 100 | ○ | |||
| 4 | 型番 | model_number | varchar | 100 | ||||
| 5 | 無効フラグ | inactive | unsigned tinyint | ○ | 0 | 0: 有効, 1: 無効 | ||
| 6 | 登録日時 | created_at | timestamp | ○ | システム日付 | |||
| 7 | 更新日時 | updated_at | timestamp | ○ | システム日付 | テーブル更新時, システム日付を適用 | ||
| 8 | 削除日時 | deleted_at | timestamp | 有効: null / 無効: 無効を設定した日時 |
インデックス: | 名称 | タイプ | 対象カラム | |---|---|---| | pk_mode_id | primary key | id |
(インデックス名称は定義書のまま「pk_mode_id」と記載されている(devicesやmodelではなくmode)。誤記の可能性があるがそのまま転記。maker_idはmakersテーブルへの参照と思われる列だが、データ型は「unsigned tinyint」、キー欄は空欄でfk指定なし、インデックス欄にもmaker_idの外部キー行は無い。インデックス欄2〜5は空欄)
役割: 顧客情報を管理する。 UI: 要 備考: UI: 要
| # | 論理カラム名 | 物理カラム名 | データ型 | サイズ | 必須 | 初期値 | キー | 備考 |
|---|---|---|---|---|---|---|---|---|
| 1 | 管理ID | id | unsigned bigint | ○ | pk | auto_increment | ||
| 2 | グループID | group_id | unsigned bigint | ○ | 0 | fk | 追加 | |
| 3 | 顧客名 | customer_name | varchar | 400 | ○ | |||
| 4 | 郵便番号 | zip_cd | varchar | 8 | ○ | |||
| 5 | 都道府県 | prefecture_cd | tinyint | ○ | ||||
| 6 | 都道府県名 | prefecture_name | varchar | 16 | ○ | |||
| 7 | 住所1 | addr1 | varchar | 800 | ○ | |||
| 8 | 住所2 | addr2 | varchar | 800 | ||||
| 9 | 代表電話番号 | phone | varchar | 16 | ||||
| 10 | 無効フラグ | inactive | unsigned tinyint | ○ | 0 | 0: 有効, 1: 無効 | ||
| 11 | 登録日時 | created_at | timestamp | ○ | システム日付 | |||
| 12 | 更新日時 | updated_at | timestamp | ○ | システム日付 | |||
| 13 | 削除日時 | deleted_at | timestamp | 有効: null / 無効: 無効を設定した日時 |
インデックス: | 名称 | タイプ | 対象カラム | |---|---|---| | pk_customers_id | primary key | id | | fk_customers_group_d | forigne key | group_id |
(インデックス名称「fk_customers_group_d」は定義書のまま。group_idのfk("group_d")の表記であり、他の外部キー命名(例: fk_facilities_customer_id)と異なりカラム名の末尾が省略された形になっている。誤記の可能性があるがそのまま転記。"forigne key"は原文ママ(foreignのスペルミス)。prefecture_cdはcustomersでは「tinyint」(unsignedなし)だが、facilitiesの同名カラムは「unsigned tinyint」であり型が異なる。インデックス欄3〜5は空欄)
役割: 施設情報を管理する。 UI: 要 備考: UI: 要
| # | 論理カラム名 | 物理カラム名 | データ型 | サイズ | 必須 | 初期値 | キー | 備考 |
|---|---|---|---|---|---|---|---|---|
| 1 | 管理ID | id | unsigned bigint | ○ | pk | auto_increment | ||
| 2 | 顧客ID | customer_id | unsigned bigint | ○ | fk | |||
| 3 | 店舗コード | shop_id | varchar | 20 | ○ | 0 | PUDU Cloud で使用しているshop_idを格納する. 追加 | |
| 4 | 施設名 | facility_name | varchar | 400 | ○ | |||
| 5 | 郵便番号 | zip_cd | varchar | 8 | ○ | |||
| 6 | 都道府県 | prefecture_cd | unsigned tinyint | ○ | ||||
| 7 | 都道府県名 | prefecture_name | varchar | 16 | ○ | |||
| 8 | 住所1 | addr1 | varchar | 800 | ○ | |||
| 9 | 住所2 | addr2 | varchar | 800 | ||||
| 10 | 連絡先電話番号 | phone | varchar | 16 | ||||
| 11 | 連絡先メールアドレス | varchar | 100 | |||||
| 12 | 責任者名 | manager_name | varchar | 100 | 追加 | |||
| 13 | 担当者名 | charger_name | varchar | 100 | カラム名変更 | |||
| 14 | 契約モジュール | contract | varchar | 10 | ○ | 0000000000 | 各サービス毎にフラグとして機能する. D-Securityを1桁目, D-Watchを2桁目とし, 契約済(有効)なサービスを1とする. 例えばD-Security, D-Watchを契約している場合は次のように表現される. 例) 1100000000 | |
| 15 | 無効フラグ | inactive | unsigned tinyint | ○ | 0 | 0: 有効, 1: 無効 | ||
| 16 | 登録日時 | created_at | timestamp | ○ | システム日付 | |||
| 17 | 更新日時 | updated_at | timestamp | ○ | システム日付 | |||
| 18 | 削除日時 | deleted_at | timestamp | 有効: null / 無効: 無効を設定した日時 |
インデックス: | 名称 | タイプ | 対象カラム | |---|---|---| | pk_facilities_id | primary key | id | | fk_facilities_customer_id | forigne key | customer_id |
("forigne key"は原文ママ。店舗コード(shop_id)は必須○かつ初期値0の指定だが、データ型はvarchar(20)であり、初期値「0」が文字列"0"を意味するのか数値的な0を意味するのか定義書からは判断できない。読み取れず。インデックス欄3〜5は空欄)
役割: エリア情報を管理する。 UI: 要 備考: UI: 要
| # | 論理カラム名 | 物理カラム名 | データ型 | サイズ | 必須 | 初期値 | キー | 備考 |
|---|---|---|---|---|---|---|---|---|
| 1 | 管理ID | id | unsigned bigint | ○ | pk | auto_increment | ||
| 2 | 施設ID | facility_id | unsigned bigint | ○ | fk | |||
| 3 | エリア名 | section_name | varchar | 100 | ○ | |||
| 4 | フロア名 | floor_name | varchar | 100 | ||||
| 5 | 区画図(ファイルパス) | layout | varchar | 200 | エリア図(jpeg/pngを想定)のファイルパスを格納する. 現時点では未使用. | |||
| 6 | 無効フラグ | inactive | unsigned tinyint | ○ | 0 | 0: 有効, 1: 無効 | ||
| 7 | 登録日時 | created_at | timestamp | ○ | システム日付 | |||
| 8 | 更新日時 | updated_at | timestamp | ○ | システム日付 | |||
| 9 | 削除日時 | deleted_at | timestamp | 有効: null / 無効: 無効を設定した日時 |
インデックス: | 名称 | タイプ | 対象カラム | |---|---|---| | pk_sections_id | primary key | id | | fk_sections_facility_id | forigne key | facility_id |
("forigne key"は原文ママ。インデックス欄3〜5は空欄)
役割: D-S制御盤情報を管理する。 UI: 要 備考: UI: 要
| # | 論理カラム名 | 物理カラム名 | データ型 | サイズ | 必須 | 初期値 | キー | 備考 |
|---|---|---|---|---|---|---|---|---|
| (空欄) | 管理ID | id | unsigned bigint | ○ | pk | auto increment | ||
| 1 | 製品(管理)番号 | serial_number | varchar | 100 | ○ | アプリケーションで一意性を確保する(deleted_atがあるため) | ||
| 2 | パスワード | password | varchar | 255 | ○ | |||
| 3 | 施設ID | facility_id | unsigned bigint | ○ | (空欄) | |||
| 4 | エリアID | section_id | unsigned bigint | ○ | fk | |||
| 5 | 状態 | status | unsigned tinyint | ○ | 0 | 0: 正常, 1: 異常 (D-S制御盤の生死報告で正常/異常切替) | ||
| 6 | 無効フラグ | inactive | unsigned tinyint | ○ | 0 | 0: 有効, 1: 無効 | ||
| 7 | トークン記録 | remember_token | varchar | 100 | トークン認証で使用 | |||
| 8 | 登録日時 | created_at | timestamp | ○ | システム日付 | |||
| 9 | 更新日時 | updated_at | timestamp | ○ | システム日付 | テーブル更新時, システム日付を適用 | ||
| 10 | 削除日時 | deleted_at | timestamp | 有効: null / 無効: 無効を設定した日時 | ||||
| 11 | 認証日時 | verified_at | timestamp | 認証日時を格納 |
インデックス: | 名称 | タイプ | 対象カラム | |---|---|---| | pk_controls_id | primary key | id | | fk_controls_facility_id | forigne key | facility_id | | fk_controls_section_id | forigne key | section_id |
("forigne key"は原文ママ。管理ID(id)行の#番号は定義書上でも空欄。矛盾点: facility_idはカラム定義表のキー欄では空欄(fk指定なし)だが、インデックス欄にはfk_controls_facility_idという外部キーが定義されており、両者が食い違っている。またこのテーブルの論理テーブル名セル自体は「D-S制御盤」という値の左に本来入るはずの「[merged] 論理テーブル名」ラベルが無く空欄になっている(他の9テーブルには「[merged] 論理テーブル名」ラベルがある)。インデックス欄4〜5は空欄)
役割: 清掃ロボット情報を管理する。 UI; 要 備考: UI; 要(原文ママ、コロンでなくセミコロン)
| # | 論理カラム名 | 物理カラム名 | データ型 | サイズ | 必須 | 初期値 | キー | 備考 |
|---|---|---|---|---|---|---|---|---|
| 1 | 管理ID | id | unsigned bigint | ○ | pk | auto_increment | ||
| 2 | 施設ID | facility_id | unsigned bigint | ○ | fk | 追加 | ||
| 3 | エリアID | section_id | unsigned bigint | ○ | fk | |||
| 4 | 機種ID | device_id | unsigned bigint | ○ | 0 | fk | 追加 | |
| 5 | 製品(管理)番号 | serial_number | varchar | 20 | ○ | |||
| 6 | タスクID | task_id | varchar | 20 | 削除 | |||
| 7 | バージョン | version | varchar | 20 | 削除 | |||
| 8 | ロボット名 | robot_name | varchar | 100 | ||||
| 9 | 状態 | status | smallint | ○ | 0 | Pudu API仕様を参照 | ||
| 10 | 清掃状態 | clean_status | unsigned tinyint | ○ | 0 | |||
| 11 | 清掃率 | clean_ratio | unsigned tinyint | ○ | 0 | |||
| 12 | バッテリー | battery | unsigned tinyint | ○ | 100 | |||
| 13 | 無効フラグ | inactive | unsigned tinyint | ○ | 0 | 0: 有効, 1: 無効 | ||
| 14 | 登録日時 | created_at | timestamp | ○ | システム日付 | |||
| 15 | 更新日時 | updated_at | timestamp | ○ | システム日付 | |||
| 16 | 削除日時 | deleted_at | timestamp | 有効: null / 無効: 無効を設定した日時 |
インデックス: | 名称 | タイプ | 対象カラム | |---|---|---| | pk_robots_id | primary key | id | | fk_robots_facility_id | forigne key | facility_id | | fk_robots_section_id | forigne key | section_id | | fk_robots_device_id | forigne key | device_id |
("forigne key"は原文ママ。9番「状態(status)」の型は「smallint」であり、unsignedが付いていない点が他のunsigned tinyint系フラグ列と異なる(原文ママ、読み替えず転記)。6番task_id・7番versionは備考「削除」と記載されているが、同一項目がrobot_task_versionsテーブルにtask_id/versionとして新設されている(テーブル間の役割移動と思われるが定義書に明記なし)。インデックス欄5は空欄)
役割: 清掃ロボットに付与されたタスク・バージョン情報を管理する. UI: 要 備考: UI: 要
| # | 論理カラム名 | 物理カラム名 | データ型 | サイズ | 必須 | 初期値 | キー | 備考 |
|---|---|---|---|---|---|---|---|---|
| 1 | 管理ID | id | unsigned bigint | ○ | pk | auto_increment | ||
| 2 | ロボットID | robot_id | unsigned bigint | ○ | fk | |||
| 3 | スケジュールID | clean_schedule_id | unsigned bigint | ○ | fk | |||
| 4 | タスクID | task_id | varchar | 20 | ||||
| 5 | バージョン | version | varchar | 20 | ||||
| 6 | 無効フラグ | inactive | unsigned tinyint | ○ | 0 | 0: 有効, 1: 無効 | ||
| 7 | 登録日時 | created_at | timestamp | ○ | システム日付 | |||
| 8 | 更新日時 | updated_at | timestamp | ○ | システム日付 | |||
| 9 | 削除日時 | deleted_at | timestamp | 有効: null / 無効: 無効を設定した日時 |
インデックス: | 名称 | タイプ | 対象カラム | |---|---|---| | pk_robot_task_version_id | primary key | id | | fk_robots_task_version_robot_id | forigne key | robot_id | | fk_robots_task_version_clean_schedule_id | forigne key | clean_schedule_id |
("forigne key"は原文ママ。clean_schedule_idの参照先と思われるclean_schedulesテーブルは今回の担当10テーブルの範囲外(定義書後方に別途記載あり)。インデックス欄4〜5は空欄)
役割: エリア毎の清掃ロボットの状態(エリアに紐づくロボット全て)を管理する。 ※当初D-S制御盤-清掃ロボットの関係でシステムが構築されていた為, 物理名をcontrol_robot_statusesとしていた. テーブル名変更 UI: 不要 備考: ※当初D-S制御盤-清掃ロボットの関係でシステムが構築されていた為, 物理名をcontrol_robot_statusesとしていた. テーブル名変更 UI: 不要
| # | 論理カラム名 | 物理カラム名 | データ型 | サイズ | 必須 | 初期値 | キー | 備考 |
|---|---|---|---|---|---|---|---|---|
| 1 | 管理ID | id | unsigned bigint | ○ | pk | auto_increment | ||
| 2 | 施設ID | facility_id | unsigned bigint | ○ | fk | |||
| 3 | エリアID | section_id | unsigned bigint | ○ | fk | |||
| 4 | ロボット状態 | robot_status | smallint | ○ | 0 | 配下のrobots.statusからルールに則り値を格納する. 現時点では未確定. | ||
| 5 | 実施日(状態変更日) | indicatived_at | timestamp | 状態(status)が変更された日時 | ||||
| 5 | 清掃状態 | clean_status | unsigned tinyint | ○ | 0 | |||
| 6 | 清掃率 | clean_ratio | unsigned tinyint | ○ | 0 | 清掃完了率を100分率で表す | ||
| 7 | 登録日時 | created_at | timestamp | ○ | システム日付 | |||
| 8 | 更新日時 | updated_at | timestamp | ○ | システム日付 | |||
| 9 | 削除日時 | deleted_at | timestamp | 有効: null / 無効: 無効を設定した日時 |
インデックス: | 名称 | タイプ | 対象カラム | |---|---|---| | pk_section_robot_statuses_id | primary key | id | | fk_section_robot_statuses_facility_id | forigne key | facility_id | | fk_section_robot_statuses_section_id | forigne key | section_id |
("forigne key"は原文ママ。矛盾点: #番号「5」が「実施日(状態変更日) indicatived_at」と「清掃状態 clean_status」の2行に重複して振られている(定義書のまま。以降の6, 7, 8, 9は「清掃状態」の次から続いており、番号がひとつずれた状態になっている可能性がある)。「実施日(状態変更日)」の物理カラム名は「indicatived_at」と記載されており、一般的な英語表現(indicated_at)と異なる綴りだが原文ママ転記。ロボット状態(robot_status)の備考に「現時点では未確定」と明記されており、算出ルールが未確定である旨の注記あり。インデックス欄4〜5は空欄)