Suppression d'une convention collective - SocialGouv/code-du-travail-numerique GitHub Wiki
- Supprimer dans
data/index.json
l'objet lié à la convention collective - Optionnel : Ajouter les synonymes sur les autres conventions collectives dans la clé
synonymes: []
- Supprimer le fichier
kalicontXXXXXXXXX.json
lié à la convention collective - Lancer le
fetch
via la github action
Tout d'abord, il faut se connecter à la base de données en effectuant un pont SSH depuis son terminal au pods hasura
.
Ensuite, il faut utiliser hasura-cli
pour pouvoir se connecter au pods et disposer du playground :
hasura console --endpoint http://localhost:8080 --admin-secret "HASURA_ADMIN_SECRET_ON_RANCHER" --project targets/hasura
Maintenant, nous arrivons sur la playground et nous pouvons lancer les commandes qu'on souhaite
Listons ainsi les contributions créées avec le numéro IDCC qui leurs correspondent :
query GetContribution {
contrib_agreements(where: {
idcc: {_eq: "1740"}
}) {
__typename
id
idcc
answers {
id
}
locations_agreements {
id
}
}
}
query GetAnswers {
contrib_answers(where: {
agreement: {
idcc: {_eq: "1740"}
}
}) {
__typename
id
answers_references {
id
}
answers_comments {
id
}
}
}
query GetReferences {
contrib_answers_references(where: {
answer: {
agreement: {
idcc: {_eq: "1740"}
}
}
}) {
__typename
id
}
}
query GetComments {
contrib_answers_comments(where: {
answer: {
agreement: {
idcc: {_eq: "1740"}
}
}
}) {
__typename
id
}
}
query getLocationsAgreements {
contrib_locations_agreements(where: {
agreement: {
idcc: {_eq: "1740"}
}
}) {
__typename
id
}
}
Du fait, qu'il n'y a pas de suppression en cascade, il faut supprimer chaque éléments un à un :
mutation DeleteLocationsAgreements {
delete_contrib_locations_agreements(where: {
agreement: {
idcc: {_eq: "1740"}
}
}) {
__typename
}
}
mutation DeleteReferences {
delete_contrib_answers_references(where: {
answer: {
agreement: {
idcc: {_eq: "1740"}
}
}
}) {
__typename
}
}
mutation DeleteComments {
delete_contrib_answers_comments(where: {
answer: {
agreement: {
idcc: {_eq: "1740"}
}
}
}) {
__typename
}
}
mutation DeleteAnswers {
delete_contrib_answers(where: {
agreement: {
idcc: {_eq: "1740"}
}
}) {
__typename
}
}
mutation DeleteContribution {
delete_contrib_agreements(where: {
idcc: {_eq: "1740"}
}) {
__typename
}
}
La dernière étape au niveau de la base de données est de supprimer la convention collective.
query GetPublicAgreement {
agreements(where: {
id: {_eq: "1740"}
}) {
__typename
id
}
}
mutation DeletePublicAgreement {
delete_agreements(where: {
id: {_eq: "1740"}
}) {
__typename
}
}
Cette étape doit être effectuées dans le cas on une base de données est crée ex nihilo.
La dernière étape consiste à supprimer la référence de la convention collective à l'IDCC au niveau du job d'alerting
Lorsque l'action kali-data
a bien tournée, que les commits ont bien été effectués sur la branche master
et que la release de l'admin a bien fonctionnée en deployant les pods sur la production.
Nous devons lancer :
- le job de l'ingester
- le job de l'alerting
- une mise à jour de la preprod
Sur le projet code-du-travail-numerique
, nous pouvons ajouter les redirections correspondantes dans le fichier redirects.json
.
...
{
"source": "/contribution/1740-:slug",
"permanent": true,
"destination": "/contribution/:slug"
},
{
"source": "/convention-collective/1740",
"permanent": true,
"destination": "/outils/convention-collective"
},
{
"source": "/convention-collective/1740-:slug",
"permanent": true,
"destination": "/outils/convention-collective"
}
...
Dans le cas où des entreprises disposent d'éléments liées à l'ancienne convention, nous devons modifier l'élement via l'API.
Pour cela, il faut ajouter dans code-du-travail-numerique/packages/code-du-travail-frontend/src/api/config.ts
, un tableau rataché à l'idcc qui sera remplacé :
export const IDCC_TO_REPLACE = {
1740: [1596, 1597],
} as const;
- Déployons en production
cdtn-admin
en effectuant une release - Déployons en production
code-du-travail-numerique
en effectuant une pre-release puis une release