Skip to content

[WIP] without rpc#19

Open
ru322 wants to merge 2 commits intodev/front-end-testfrom
fix/without-rpc
Open

[WIP] without rpc#19
ru322 wants to merge 2 commits intodev/front-end-testfrom
fix/without-rpc

Conversation

@ru322
Copy link
Copy Markdown
Contributor

@ru322 ru322 commented Apr 29, 2026

Supabase DB

  • public.members に auth_user_id を追加し、auth.users(id) と直接紐づける設計に変わります。
  • public.users も auth_user_id, discord_id, display_name, member_id を前提にします。
  • RLS policy が auth.uid() と auth_user_id の一致で判定する形になります。
  • 旧 RPC / trigger 依存を削除するため、DB migration の適用が必須です。

コードが正しいか未だに判断がついてないけど、方向性が正しいかだけ見てほしい
あと当たり前ながらDBに破壊的変更が入ります。(一応migrationはあるけど)

@ru322 ru322 requested a review from Xia7an April 29, 2026 16:16
@ru322 ru322 changed the title [Fix] without rpc [WIP] without rpc Apr 29, 2026
@yufoxda
Copy link
Copy Markdown
Contributor

yufoxda commented Apr 30, 2026

public.members に auth_user_id を追加し、auth.users(id) と直接紐づける設計に変わります。

なぜこの必要があるのですか?
これをしてしまうとsupabaseとmenberがかなり密接になってしまうのでmenberDBを後で分離するのが困難になります

@ru322
Copy link
Copy Markdown
Contributor Author

ru322 commented Apr 30, 2026

public.members に auth_user_id を追加し、auth.users(id) と直接紐づける設計に変わります。

なぜこの必要があるのですか? これをしてしまうとsupabaseとmenberがかなり密接になってしまうのでmenberDBを後で分離するのが困難になります

これは正しくて、確かにSupabaseに依存しているのですが、元がSupabase RPCに依存しているしそもそもコードがSupabase Authに依存しているしという話があってシンプルさを優先した結果こうなってる感じですね。(移行するときmemberDBを分離するときにめんどいのはそう)

一応修正は
create table public.members (
member_id uuid primary key default gen_random_uuid(),
name text,
grade integer,
student_id text,
emergency_contact text,
student_email text,
insurance boolean,
some_allergy boolean
);
create table public.users (
id uuid primary key default gen_random_uuid(),
auth_user_id uuid not null references auth.users(id),
member_id uuid not null references public.members(member_id),
discord_id text,
display_name text not null default ''
);
みたいにするとpublic.usersで認証ユーザとpublic.memebersの橋渡しを行えばmemberdbの切り離しは比較的容易にはなります。

が、現状とりあえず適切に処理できていればRPCつかっても良いよなということでこれがマージされる未来はないです。
本来はCloseしなくてはいけませんでした。すみません

@yufoxda
Copy link
Copy Markdown
Contributor

yufoxda commented Apr 30, 2026

ん?
image
もうなっているのもうなっているのでは?
auth.user,public.user,menberはリレーションされてるよ

僕としてはRPC使いたくない派

@ru322
Copy link
Copy Markdown
Contributor Author

ru322 commented May 1, 2026

僕としてはRPC使いたくない派

users.auth_user_idがすでにある件は昨日 @Xia7an とも話しててまぁ、このPRがお蔵入りになった理由なのですが
現状まだ、RPCは使ってて次の処理がのこってたりします。
あと、おま環なのか私の環境だとDashBoardが動かなくてて動作確認ができない…

const { data, error } = await supabase.rpc('save_current_user_registration', {
p_full_name: body.full_name,
p_grade: body.grade,
p_student_id: body.student_id,
p_emergency_contact: body.emergency_contact,
p_student_email: body.student_email,
p_insurance: body.insurance,
p_some_allergy: body.some_allergy,
p_discord_name: body.discord_name,
})

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.

2 participants