Nettoyer la base de données

Cette procédure permet de nettoyer votre base de données en conservant le paramétrage qui a été fait par les administrateurs.

Les données supprimées si elles existent sont:

  • Les courriers (res_letterbox), les pièces jointes et réponses, les versions, les affaires et toutes les tables complémentaires
  • Les contacts, les adresses
  • Les annotations, les mots-clés, les mails envoyés
  • Les historiques de connexion et de navigation

Script SQL de nettoyage

TRUNCATE TABLE cases;
TRUNCATE TABLE cases_res;

TRUNCATE TABLE contacts_v2;
TRUNCATE TABLE contact_addresses;
TRUNCATE TABLE contact_types;
TRUNCATE TABLE contact_purposes;
TRUNCATE TABLE contacts_res;

TRUNCATE TABLE listinstance;

TRUNCATE TABLE history;
TRUNCATE TABLE history_batch;

TRUNCATE TABLE notes;
TRUNCATE TABLE note_entities;

TRUNCATE TABLE mlb_coll_ext;
TRUNCATE TABLE res_letterbox;
TRUNCATE TABLE res_version_letterbox;
TRUNCATE TABLE res_x;
TRUNCATE TABLE res_attachments;
TRUNCATE TABLE res_version_attachments;

TRUNCATE TABLE saved_queries;
TRUNCATE TABLE lc_stack;
TRUNCATE TABLE adr_x;

TRUNCATE TABLE tags;

TRUNCATE TABLE sendmail;

TRUNCATE TABLE notif_event_stack;
TRUNCATE TABLE notif_email_stack;

Ce script est disponible dans le fichier sql/delete_all_ressources.sql de votre répertoire Maarch.

Réinitialisation des séquences

Suite à la suppression des données dans la base Maarch, vous pouvez ré-initialiser les séquences des tables pour repartir sur une numérotation cohérente.

Le script ci-dessous ré_initialise toutes les séquences des tables (hors administration).

select setval('res_id_mlb_seq', (select max(res_id)+1 from res_letterbox), false);
select setval('res_linked_mlb_seq', (select max(id)+1 from res_linked), false);

select setval('case_id_seq', (select max(case_id)+1 from cases), false);

select setval('contact_id_seq', (select max(contact_id)+1 from contacts), false);

select setval('contact_v2_id_seq', (select max(contact_id)+1 from contacts_v2), false);

select setval('doctypes_type_id_seq', (select max(type_id)+1 from doctypes), false);

select setval('doctypes_first_level_id_seq', (select max(doctypes_first_level_id)+1 from doctypes_first_level), false);

select setval('doctypes_second_level_id_seq', (select max(doctypes_second_level_id)+1 from doctypes_second_level), false);

select setval('contact_addresses_id_seq', (select max(id)+1 from contact_addresses), false);

select setval('listinstance_id_seq', (select max(listinstance_id)+1 from listinstance), false);

select setval('history_id_seq', (select max(id)+1 from history), false);

select setval('history_batch_id_seq', (select max(id)+1 from history_batch), false);

select setval('notes_seq', (select max(id)+1 from notes), false);

select setval('res_attachment_res_id_seq', (select max(res_id)+1 from res_attachments), false);

select setval('groupbasket_redirect_system_id_seq', (select max(system_id)+1 from groupbasket_redirect), false);

select setval('templates_association_seq', (select max(system_id)+1 from templates_association), false);

select setval('templates_seq', (select max(template_id)+1 from templates), false);

VACUUM ANALYZE;