1 風吹けば名無し 2026/06/23(火) 21:04:00 ID:Tb1eD7sg
「あとで変えられるから」と思って雑に作ったテーブル、本番稼働後に変えようとして死んどるわ
2 風吹けば名無し 2026/06/23(火) 21:05:23 ID:Nj7rH2kp
何があったんや
3 風吹けば名無し 2026/06/23(火) 21:06:08 ID:Tb1eD7sg
>>2 ユーザーの属性情報を全部 users に突っ込んでた
最初は name と email だけやったのに、機能追加のたびにカラム増えて気づいたら30超えや
4 風吹けば名無し 2026/06/23(火) 21:07:16 ID:Nj7rH2kp
>>3 やりすぎやろ
5 風吹けば名無し 2026/06/23(火) 21:08:47 ID:Tb1eD7sg
こんな感じや
-- こうなってしまった
users
id, name, email,
address, phone, birthday,
plan_type, plan_started_at, plan_expires_at,
last_login_at, login_count,
referral_code, referred_by,
... (続く)
6 風吹けば名無し 2026/06/23(火) 21:09:40 ID:Cy4sV8nm
>>5 「… (続く)」で草 まだあるんかい
7 風吹けば名無し 2026/06/23(火) 21:10:56 ID:Tb1eD7sg
>>6 ある
8 風吹けば名無し 2026/06/23(火) 21:11:34 ID:Cy4sV8nm
それ JOIN 地獄やろ
9 風吹けば名無し 2026/06/23(火) 21:12:35 ID:Tb1eD7sg
>>8 テーブルの責務が混在して、JOIN なしでは何もできんのに JOIN しても直感的に取れん状態や
一番あかんやつ
10 風吹けば名無し 2026/06/23(火) 21:13:59 ID:Qd9zM5jw
で、どう直したんや
11 風吹けば名無し 2026/06/23(火) 21:14:45 ID:Tb1eD7sg
>>10 テーブルは「名詞」で切る、が結論やった
users、user_profiles、subscriptions、login_histories みたいに責務分けると後からカラム足しても影響範囲が小さい
12 風吹けば名無し 2026/06/23(火) 21:15:54 ID:Qd9zM5jw
>>11 最初からそうしとけばよかったやん
13 風吹けば名無し 2026/06/23(火) 21:17:26 ID:Tb1eD7sg
>>12 設計に時間かけるの「無駄」やと思っとったんや
本番後のマイグレーションにかかる時間と比べたら安いもんやった
14 風吹けば名無し 2026/06/23(火) 21:18:20 ID:Nj7rH2kp
授業料やね