Skip to content

Conversation

yasulab
Copy link
Member

@yasulab yasulab commented Aug 18, 2025

概要

Raspberry Pi Foundation の Clubs DB と CoderDojo Japan の Japan DB を連携させるための設計文書を追加します。

Fix #1616

背景

新しい Dojo が追加されるたびに、DojoMap に表示させるために手動で CSV を更新する必要があります。この作業を自動化するため、Clubs DB の ID(global_club_id)を Japan DB の Dojo と紐付けます。

設計概要

データモデル

class AddGlobalClubIdToDojos < ActiveRecord::Migration[8.0]
  def change
    # UUID 文字列型
    add_column :dojos, :global_club_id, :string, null: false
    add_index :dojos, :global_club_id, unique: true
  end
end

重要な仕様

  • データ型: UUID文字列(例: "18704b53-1042-4464-9d49-8820c6ff8c97"
  • 制約: NOT NULL、ユニーク制約
  • API: 読み取り専用(認証不要)
  • 同期: 一度きりのマッピング(継続的同期は不要)

運用フロー

  1. 既存 Dojo: スクリプトで一括設定
  2. 新規 Dojo: 申請時に global_club_id を必須入力
  3. データ管理: db/dojos.yml で管理(既存の運用通り)

Clubs DB と Japan DB の違い

  • 名前: Clubs DB は英語、Japan DB は日本語(違いは正常)
  • 位置情報: Clubs DB のみに存在(Japan DB にはない)
  • 用途: DojoMap で英語名→日本語名の変換に使用

実装タスク

  • 設計文書の作成(doc/global_club_id_design.md
  • マイグレーションの実装
  • 既存 Dojo への一括マッピングスクリプト
  • 申請フォームへの入力欄追加

詳細は doc/global_club_id_design.md をご参照ください。

Raspberry Pi Foundation の Clubs DB と CoderDojo Japan の Japan DB を
連携させるための設計文書。

主な内容:
- global_club_id カラムの追加(string型、UUID、NOT NULL)
- 一度きりのマッピング(継続的同期は不要)
- 新規 Dojo は申請時に global_club_id を必須入力
- データ管理は db/dojos.yml で行う(既存の運用通り)

Fix #1616
@yasulab yasulab force-pushed the add-global_club_id-to-dojo-model branch from 9483aaf to 4c19a72 Compare August 18, 2025 11:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ラズパイ財団側にある Clubs データベースの ID と、coderdojo.jp の Dojo ID を紐付ける ***_id を用意したい
1 participant