就在这里!
魔法不是在您删除数据时发生,而是在您第一次创建评论表时发生。它也不是 Supabase 功能,而是 postgres 功能。
当您创建外键约束时,您可以设置一个delete cascade
选项来告诉表删除任何相关数据。
例如,您可以像这样创建一个评论表:
create table if not exists public.comments (
id uuid not null primary key DEFAULT uuid_generate_v4 (),
post_id uuid references public.posts on delete cascade not null,
user_id uuid references public.users on delete cascade not null,
created_at timestamp with time zone default timezone('utc' :: text, now()) not null,
text varchar(320) not null
);
注意delete cascade
关键字 onpost_id
和user_id
定义。如果相关帖子或用户被删除,添加这些将删除评论条目。
目前,没有办法delete cascade
在 Supabase UI 中创建带有选项的列,因此您必须使用 SQL 创建这样的表。
此外,如果您已经有一个表并想添加此选项,则必须删除外键约束并使用选项delete cascade
重新添加它。您可以在此处delete cascade
了解有关如何添加delete cascade
到现有表的更多信息,但如果您的应用程序未投入生产,则删除该表并从头开始重新创建它可能会更容易!