コンテンツにスキップ

インポート・エクスポート機能仕様

現況確認: 2026年9月13日。routers/data_transfers.py、data_transfer_service.py、family_csv.py、child_csv.py、staff_csv.pyを基準とします。入口は /data-transfers/ です。

対象と権限

データ 識別子 現在扱う内容
職員 staff_users ID、表示名、メールアドレス、表示順。管理者のみ
クラス classrooms ID、クラス名、表示順
家庭 families ID、家庭名、住所、電話番号、保護者①②の各10項目
園児 children 基本情報、在園状態、クラス、家庭、照合用氏名
保護者アカウント parent_accounts 連絡先、家庭、状態、照合用氏名
保護者・園児紐づけ parent_child_links 保護者と園児の対応、続柄、主連絡先

操作には園児台帳管理権限が必要で、職員データには管理者権限も必要です。テンプレートとエクスポートはCSV・Excelに対応します。正確な列名は実際の画面から取得するテンプレートを正としてください。

認証資格情報・パスワード・セッション・添付実体・既読・業務履歴を網羅する機能ではありません。復旧用途はバックアップ・復元仕様を使います。認可施設帳票のExcel入力・出力も同じ画面にあり、別の帳票仕様に従います。

入力ファイル

  • CSVはUTF-8またはCP932、Excelは1シートの .xlsx。
  • 1行目をヘッダーとし、同じ列名の重複はエラー、未知の列は警告。
  • CSV出力はUTF-8 BOM付き。
  • IDは 取込先DBの内部ID。外部台帳の番号を内部ID欄へ転記しない。
  • 更新時の空欄・省略は原則として既存値を保持し、削除には使わない。データ種別ごとの必須・照合条件を満たす必要がある。

移行元IDとマニフェストで複数CSVを一括検証・一括確定する拡張は未実装の移行計画です。現在のファイル単位のインポートとは分けて扱います。

事前検証から確定まで

  1. データ種別を選び、テンプレートを取得します。
  2. ファイルを選んで事前検証を実行します。この時点では台帳を更新しません。
  3. エラー、警告、新規・更新件数、変更する内容を確認します。
  4. 「インポート実行」で確定します。
  5. 一覧・詳細と再エクスポートで結果を照合します。

確認データは職員とデータ種別に紐付く非公開ファイルとして保持し、24時間で期限切れとなります。ハッシュと台帳の変更状態を確定時に検査し、1回だけ使用します。確定の失敗・中断後は再検証します。

1ファイルの確定途中で失敗した場合は、そのファイルの変更を取り消します。複数ファイルは別々に確定するため、後続ファイルが失敗しても、先に成功した取り込みは残ります。現行の確定処理はSQLite構成に対応します。

家庭と園児の取り込み

既存の緊急連絡表を使う具体的な手順は家庭・園児CSVガイドを参照してください。

家庭は基本4列に、保護者①②それぞれの姓・名・姓カナ・名カナ・続柄・メール・電話・勤務先・勤務先住所・勤務先電話の20列を追加した24列です。従来の基本列だけのファイルも扱います。

保護者情報は Family.shared_profile に反映し、同じ家族の園児と明示的に紐付いたアカウントへ必要な共通情報を同期します。3人目以降の保護者や未指定の項目は保持します。登録済みの氏名や紐付いたアカウントのメールをCSVで不用意に置き換えないよう、相違がある場合は編集画面での確認を求めます。

家庭CSVではアカウント・招待メール・パスワード・ログインID・園児の閲覧権限を作成・変更しません。家庭の同期で全保護者と全園児のリンクを自動生成する処理は廃止されています。

取り込みの順番と認可

依存関係のあるマスタは、クラス→家庭→園児→保護者アカウント→保護者・園児紐づけの順で確認します。職員は独立したデータ種別ですが、最初の管理者は認証CLIで作成します。

家庭名が重複している場合は最新のエクスポートで家庭IDを確認し、曖昧な名前だけで紐付けません。保護者の園児アクセスは ParentChildLink を唯一の根拠とし、同じ家庭の一部の園児だけを許可する状態も保持します。

取り込み後は、意図した園児リンクと家庭プロフィールが保たれることを確認します。家族プロフィールの保護者とアカウントの対応は同期ガイドを参照してください。

職員CSVの範囲

管理者が職員名簿を追加・更新できます。新規職員は view_only で作成し、資格情報や追加権限を自動付与しません。既存の職員メール変更、削除済み職員の復帰は職員管理画面で行います。

取り込み後に職員管理でロール、業務権限、担当クラス、初期設定コードを確認します。CSV取り込みだけでパスワードログイン可能になったとは扱いません。

受入確認

関連テストは test_data_transfers.py、test_spec_changes.py、test_guardian_preservation.py などです。実際の移行前には、隔離DBで件数、変更差分、再取込、失敗時の取り消し、明示リンクの保持、再起動後の結果を確認します。