-
Notifications
You must be signed in to change notification settings - Fork 22
Suppression d'une convention collective
- 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.
![Screenshot 2023-07-18 at 11 16 44](https://private-user-images.githubusercontent.com/25312957/254220278-bbaa9157-37c3-45dc-be7c-49c0fcefba10.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk3MjQ3MzAsIm5iZiI6MTczOTcyNDQzMCwicGF0aCI6Ii8yNTMxMjk1Ny8yNTQyMjAyNzgtYmJhYTkxNTctMzdjMy00NWRjLWJlN2MtNDljMGZjZWZiYTEwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE2VDE2NDcxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc3N2VlNjg2ZjUyYzFmY2Q3ZGE0MTUxMmY2NTE0Zjc3MDQ2MzQyN2NhODNkMDdjZmZkNWY3MTgxMzJmYjU1ZDkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.RWdGCI24QLRPI8GBPI45xSZ1RpFz20NWgP7WC_JwFR0)
La dernière étape consiste à supprimer la référence de la convention collective à l'IDCC au niveau du job d'alerting
![Screenshot 2023-07-18 at 11 14 52](https://private-user-images.githubusercontent.com/25312957/254220300-ac028b42-bf94-4d33-86fb-ec50e3f89d21.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk3MjQ3MzAsIm5iZiI6MTczOTcyNDQzMCwicGF0aCI6Ii8yNTMxMjk1Ny8yNTQyMjAzMDAtYWMwMjhiNDItYmY5NC00ZDMzLTg2ZmItZWM1MGUzZjg5ZDIxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE2VDE2NDcxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWJhZWIyODcwYzY5MDNmMTFjOTUzYTMzY2U3ZmFjYzg0MjM4MWIxMzI5MDNjNTI0NzVlYzA5M2IyNmUwZmI3NDAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.qsL_hD3tvKcCXgivU9chX0TOgTwuFBbKkfeFyVxL5b0)
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
![](https://private-user-images.githubusercontent.com/25312957/254270629-e3d6b0cd-fe6b-4791-a1f9-b7c0c5629820.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk3MjQ3MzAsIm5iZiI6MTczOTcyNDQzMCwicGF0aCI6Ii8yNTMxMjk1Ny8yNTQyNzA2MjktZTNkNmIwY2QtZmU2Yi00NzkxLWExZjktYjdjMGM1NjI5ODIwLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE2VDE2NDcxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWIwMzMzNWE1MWZkNzE2MzNjZTlkZmVkZGY3YmI1MTRkZWU0Y2E4Nzg2ZWViNDE3MGMzNWRlZTQ0YzJjNTVkZGQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.mTInMThnxsgqQSlQCac5iyv6cB0HPMF5w0_a7fG8i1o)