Tengo entidades grupales y de contacto en una relación OneToMany. Agrego contactos dentro del grupo. Cuando quiero eliminar, quiero que se eliminen ambos lados de la base de datos. pero solo se elimina la tabla de grupos.
aquí está contact.entity
Aquí hay una relación de uno a muchos:
aquí está group.entity
La función que escribí en el servicio es la siguiente:
Probé muchas soluciones buscando. Agregar cascadas en ambos lados, sé que esto no está bien, pero quería intentarlo, pero no pude hacerlo funcionar.
lo estás usando de manera incorrecta. Si se desplaza a la función softDelete, verá que necesita accesorios como: (method) Repository<Group>.softDelete(criteria: string | number | Date | ObjectID | string[] | FindConditions<Group> | number[] | Date[] | ObjectID[] 
lo que significa que tienes que usarlo como:
getRepository(Group).softDelete({ id: groupId}) igual que la función de actualización: 
getRepository(Group).update({id: groupId}, {name: "new name"})No codifique algo que pueda hacer la propia base de datos. Si desea que se eliminen todos los contactos del grupo mientras se elimina el grupo, use la clave externa con
en eliminar cascada
p.ej:
create table group1( id serial primary key, name varchar ); create table contact( id serial primary key, name varchar, group_id integer references group1 (id) on delete cascade );