Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modification du pg_restore afin de prendre en compte que les tables nécessaires au dbt run #389

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

YannickPassa
Copy link
Contributor

**Carte Notion : **

Pourquoi ?

Modification du pg_restore afin de prendre en compte que les tables nécessaires au dbt run + retrait de scripts plus utilisés (xp brsa ft)

Checks

  • J'ai lancé le modèle ou seed sur un dump local (si pertinent)
  • J'ai ajouté des tests à mon code Python, ou des assertions DBT sur le modèle SQL
  • J'ai documenté ce modèle voire certains de ses champs (usage métier, tableau de bord, etc)

@YannickPassa YannickPassa self-assigned this Jan 7, 2025
dbt seed
@echo "\n\n### dbt seed triggered successfully ###\n"
@echo "\n\n### Triggering nps_pilotage DAG ###\n"
airflow dags trigger nps_pilotage
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rsebille ça me met ce message d'erreur quand je lance les dag en ligne de commande :(

Could not import graphviz. Rendering graph to the graphical format will not be possible.
[2025-01-07T15:38:26.582+0100] {cli_action_loggers.py:137} WARNING - Failed to log action (psycopg2.OperationalError) connection to server at "localhost" (127.0.0.1), port 5432 failed: FATAL:  database "airflow" does not exist

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

je suppose qu'il tape pas dans le bon port et url, mais je vois pas ou changer ça :(

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pour airflow, l'accès à la DB c'est dans le .env et AIRFLOW__DATABASE__SQL_ALCHEMY_CONN mais c'est partagé avec le docker donc meh de le changer. Et je sais si ça existe mais il y a peut-être un settings pour lui dire d'aller taper sur l'API airflow du docker plutôt que de faire les choses depuis la machine locale.

Comment on lines +112 to +134
--table="fluxIAE_AnnexeFinanciere" --table="fluxIAE_ContratMission" \
--table="fluxIAE_EtatMensuelIndiv" --table="fluxIAE_Missions" \
--table="fluxIAE_MissionsEtatMensuelIndiv" --table="fluxIAE_RefCategorieSort" \
--table="fluxIAE_RefMontantIae" --table="fluxIAE_RefMotifSort" \
--table="fluxIAE_RefNiveauFormation" --table="fluxIAE_RefFormeContrat" \
--table="fluxIAE_Salarie" --table="fluxIAE_Structure" \
--table="fluxIAE_MarchesPublics" --table="candidats_v0" \
--table="candidatures" --table="cap_campagnes" \
--table="cap_candidatures" --table="cap_critères_iae" \
--table="cap_structures" --table="codes_rome" \
--table="collaborations" --table="communes" \
--table="critères_iae" --table="departements" \
--table="fiches_de_poste" --table="fiches_de_poste_par_candidature" \
--table="institutions" --table="organisations_v0" \
--table="pass_agréments" --table="structures" \
--table="utilisateurs_v0" --table="demandes_de_prolongation" \
--table="prolongations" --table="structures_v0" \
--table="c1_ref_type_contrat" --table="c1_ref_type_prescripteur" \
--table="c1_ref_motif_de_refus" --table="c1_analytics_v0" \
--table="insee_communes" --table="c1_private_dashboard_visits_v0" \
--table="suivi_visiteurs_tb_prives" --table="suivi_visiteurs_tb_prives_v1" \
--table="suivi_utilisateurs_tb_prives" --table="suivi_visiteurs_tb_publics_v1" \
--table="sorties_v2" --table="sa_zones_infradepartementales" \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je vois 2 améliorations possibles :

  1. --table autorise les pattern donc --table="fluxIAE_*" et --table="c1_ref_* devraient être utilisables
  2. Sans doute plus simple et maintenable d'utiliser --filter et un fichier plat que d'avoir la liste dans le Makefile, en plus ça permet de le partager entre pg_dump et pg_restore ce qui évite de tout récupérer via le réseau et sur notre disque alors qu'on ne va en utilise qu'une partie

airflow dags trigger mon_recap
@echo "\n\n### DAG triggered successfully ###\n"

load_dump: pg_dump run_dags_pilotage pg_restore
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pourquoi faire les DAG avant pg_restore ? C'était pour tester ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

c'est une belle erreur héhé

dbt seed
@echo "\n\n### dbt seed triggered successfully ###\n"
@echo "\n\n### Triggering nps_pilotage DAG ###\n"
airflow dags trigger nps_pilotage
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pour airflow, l'accès à la DB c'est dans le .env et AIRFLOW__DATABASE__SQL_ALCHEMY_CONN mais c'est partagé avec le docker donc meh de le changer. Et je sais si ça existe mais il y a peut-être un settings pour lui dire d'aller taper sur l'API airflow du docker plutôt que de faire les choses depuis la machine locale.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants