À la demande du prospect, ce script permet de supprimer son profil ainsi que toutes ses associations (prospects rattachés, dossiers, visites, messages) en CRM.
Il suit un ordre précis, en commençant par les éléments les plus éloignés du prospect principal pour remonter progressivement vers celui-ci, afin d’assurer une suppression complète tout en préservant l’intégrité des liens entre les différents éléments.
(requêtes à copier et exécuter directement depuis l'éditeur sql)
-- Pour la suppression d'un prospect, il faut procéder comme suis : lien prospect-dossier, dossier, puis lien visite-prospect, visite, puis prospect du plus éloigné jusqu'au prospect principal
--liste des prospect par rapport à leurs mails -> attention, on peut voir qu'ils sont lié entre eux (colonne iduserrattache)
-- pour la suppression il faut procéder à rebours -> du prospect le plus loin du principal vers le prospect principal
select * from prospect p where p.adressemail in ('lise.ballieu4@gmail.com') -- (à remplacer par l'adresse mail du prospect concerné)
update prospect set iduserrattache = '' where p.adressemail = ('lise.ballieu4@gmail.com')
delete from prospect where adressemail in ('lise.ballieu4@gmail.com') -- (à remplacer par l'adresse mail du prospect )
select * from prospect where id = 177061 -- (à remplacer par l'id du prospect récupéré )
select * from message_thread_participant where id_prospect = 193190 -- (à remplacer par l'id du prospect)
select * from message m where id_thread = 45587 -- (à remplacer par le/les id (s) des threads récupérés)
delete from message_thread_participant where id_prospect = 193190 -- (à remplacer par l'id du prospect)
delete from message where id_thread = 2892 -- (à remplacer par le/les id (s) des threads récupérés)
-- liste des dossiers par rapport au prospect principal dossier = option
select * from dossier_locataire dl where dl.prospect_titulaire_id = 193190; -- (à remplacer par l'id du prospect )
select * from visite where id=179554 -- (à remplacer par le visite_id recupéré depuis le dossier locataire )
delete from dossier_locataire dl where dl.prospect_titulaire_id = 193190; -- (à remplacer par l'id du prospect )
-- liste des prospects associés à tous les dossiers d'un prospect principal
select * from assoc_dossier_prospect adp where adp.dossier_locataire_id in (select dl.id from dossier_locataire dl where dl.prospect_titulaire_id = 193190);-- (à remplacer par l'id du prospect )
delete from assoc_dossier_prospect adp where adp.dossier_locataire_id in (select dl.id from dossier_locataire dl where dl.prospect_titulaire_id = 71229); -- (à remplacer par le/les id(s) des prospects associés )
--liste des visites pour un prospect principal
delete from visite v where v.id in (select avp.visite_id from assoc_visite_prospect avp where avp.prospect_id = 71229); --(à remplacer par le/les id(s) des prospects associés )
-- liste d'association entre visite et prospect principal
delete from assoc_visite_prospect avp where avp.prospect_id = 71229;-- (à remplacer par le/les id(s) des prospects associés )
-- ==> ensuite faire les 5 DELETE
/*Archiver les visites*/
select * from visite where lot_reference ='240177011263'-- (à remplacer par la reference du lot )