Appearance
機種(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.idFK) - ヒートマップ略称:
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_id は db_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 に基づき廃止済み。