-
Notifications
You must be signed in to change notification settings - Fork 2
データ構造
なかにしゆう edited this page Mar 29, 2014
·
7 revisions
Table | Description |
---|---|
access_tokens | アクセストークンを保持するテーブル |
profiles | ユーザ情報を保持するテーブル。アクセストークンの有無は関係ない。 |
relations | ユーザ同士の関係を登録するテーブル |
relations_view | ユーザの関係をyounger, olderを意識せず取り出せるようにしたrelationsテーブルのview |
templates | 紹介文のテンプレートマスタテーブル |
アクセストークンを保持するテーブルです。アプリのOAuthを実施したユーザのアクセストークンが保存されます。
Column | Description |
---|---|
id | PK |
access_token | アクセストークン |
created_at | 作成日時 |
updated_at | 更新日時 |
Column | Description |
---|---|
id | PK |
access_token_id | アクセストークンを持っている場合、対応するレコードのID |
fb_id | Facebook ID |
name | 名前 |
birthday | 誕生日。ここから年齢を算出する |
gender | 性別。 'male' / 'female' |
relationship_status | 交際ステータス。 'Single' / 'In a Relationship' / 'In an Open Relationship' / 'Engaged' / 'Married' / 'It's Complicated' / 'Widowed' |
picture_url | 画像URL |
created_at | 作成日時 |
updated_at | 更新日時 |
友人関係を登録するテーブル。IDを数値で比較して、IDの若い方をfb_id_youngerに格納する。
Column | Description |
---|---|
id | PK |
fb_id_younger | Facebook ID(若い方) |
fb_id_older | Facebook ID(若くない方) |
created_at | 作成日時 |
updated_at | 更新日時 |
上記relationsテーブルをどちらからでも参照できるようにしたView。登録するときは若い方から並べてrelationsに登録、誰かの友だちを一覧にしたかったらrelations_viewから検索というイメージになります。
Column | Description |
---|---|
id | PK |
fb_id_from | Facebook ID |
fb_id_to | Facebook ID |
created_at | 作成日時 |
updated_at | 更新日時 |
定義は以下。
CREATE VIEW relations_view AS
SELECT
fb_id_younger AS fb_id_from,
fb_id_older AS fb_id_to
FROM relations
UNION ALL
SELECT
fb_id_older AS fb_id_from,
fb_id_younger AS fb_id_to
FROM relations;
紹介を依頼する文のテンプレートを保管します。
Column | Description |
---|---|
id | PK |
objective | 紹介文の目的 |
body | 本文 |
created_at | 作成日時 |
updated_at | 更新日時 |