在使用Supabase时,是否有一种干净/简单的方法可以删除所有相关记录和一个项?比如说我有帖子,而一个帖子可以有很多评论。当我删除后,我想删除评论以及。
基本上类似于Rails中的dependend: :destroy。
const { data, error } = await supabase
.from('posts')
.delete()
.match({ id: 123 })
.options({ destroyDependent: true }) // set some option that tells Supabase to delete all associated records as well.发布于 2022-09-12 13:29:26
根据泰勒的技巧,这里是如何更改现有的键约束,以允许级联删除。
,使用要删除的项插入表的名称
SELECT con.*
FROM pg_catalog.pg_constraint con
INNER JOIN pg_catalog.pg_class rel
ON rel.oid = con.conrelid
INNER JOIN pg_catalog.pg_namespace nsp
ON nsp.oid = connamespace
WHERE 1=1
AND rel.relname = 'YOUR_CHILD_TABLE';child_parent_id_fkey以支持级联删除:)
ALTER TABLE public.YOUR_CHILD_TABLE
DROP CONSTRAINT child_parent_id_fkey,
ADD CONSTRAINT child_parent_id_fkey
FOREIGN KEY (parent_id)
REFERENCES YOUR_PARENT_TABLE(id)
ON DELETE CASCADE;发布于 2022-09-19 14:41:40
如果你已经有了一张桌子,并且需要改变它,这就是对我有用的东西。在引用中,您需要在表之前提到“public”。请参阅示例以了解
alter table
public.child drop constraint child_parent_id_fkey,
add
constraint child_parent_id_fkey
foreign key (parent_id)
references public.parent(id) on delete cascade;https://stackoverflow.com/questions/69251891
复制相似问题