Skip to content

機種(kishu)表示用文言マッピング(Issue #1203)

概要

みんレポ由来の機種名と本サイトの表記を統一するため、表示用文言マッピング(データ文字列 → 機種マスタ ID)を導入している。

  • データ文字列: みんレポ・CSV 等のデータソースに含まれる機種名
  • 表示用機種: db_kishu_master の ID(kishu_id)。公開画面の表示名はマスタの name を JOIN して解決する

マッピングはインポート時の kishu_id 振り分けにのみ使用する。 インポート後の機種名変更・統合は機種マスタ管理画面(rename / merge)で行う(Issue #2335)。

マッピングの定義

  • 定義場所: DB テーブル db_kishu_display_mapping(接頭辞付きでは例: wp_db_kishu_display_mapping
  • カラム: data_kishu(データ文字列), kishu_id(表示用機種・db_kishu_master.id FK)
  • ヒートマップ略称: db_kishu_master.heatmap_abbreviation で管理(機種マスタ管理画面 ADM-017)
  • 管理画面での編集(Issue #1206): WordPress 管理画面の「設定」→「機種表示マッピング」から、一覧・追加・編集・削除が可能。
  • テーブル作成手順: kishu-display-mapping-table-production.md。DDL 正本は KishuDisplayMappingInstaller.php を参照。

初期データ投入(Issue #1211)

初回テーブル作成後、既存の日別データ(db2023)に存在する機種名を初期データとして一括投入します。 data_kishu に対応する kishu_iddb_kishu_master から解決して登録し、差異が生じた時点で差分エントリを追加・編集します。

本番環境での具体的な SQL 手順は kishu-display-mapping-table-production.md を参照(スキーマは kishu_id FK 化後の定義に合わせて更新が必要な場合あり)。

インポート時の変換

CSV インポート時、保存直前KishuDisplayMappingService がマッピングを参照し、業務テーブルへ kishu_id を振り分ける。表示時は kishu_id とマスタ JOIN で表示名を解決する。

機種名の変更・統合(インポート後)

マッピング変更だけでは既存の登録データ(db2023 等)は更新されない。表示名の変更や機種の統合は 機種マスタ管理画面(設定 → 機種マスタ)の rename / merge で行う。

操作画面説明
名称変更機種マスタ管理(rename)マスタ name を変更し、参照する業務テーブルの表示を更新する
統合機種マスタ管理(merge)複数機種を1つにまとめ、業務4テーブルの kishu_id を差し替える

設計詳細: ADM-017 機種マスタ管理画面

管理画面の補助機能

「設定 → 機種表示マッピング」では、マッピング CRUD に加えて次の操作が可能。

  • 機種マスタへ投入seed_kishu_master): マッピングの表示用文字列を db_kishu_master に投入する。既存名称はスキップされる。
  • マスタサジェスト: データ文字列入力時に機種マスタ候補を表示する(フロント JS)。

「登録データに反映」機能(KishuDisplayMigrationService / WP-CLI migrate-to-display)は Issue #2335 に基づき廃止済み。