Aller au contenu

En local

Pour déployer les nouvelles tables de données publiques dans une BDD PostgreSQL hébergée dans le cloud ou hébergée localement.

Prérequis

  • Une instance PostgreSQL version 16 avec minimum 60 Go d'espace et 4 Go de RAM ;

  • Comptez 1 heure avec une instance de 60 Go et 4 Go de RAM ;

  • Possibilité d'y installer les extensions PostGIS et Unaccent ;

  • Instance cloud uniquement si vous voulez déployer avec GitHub Actions ;

  • Instance cloud ou locale si vous déployez manuellement ;

  • Le déploiement supprime les schemas nommés prepet sources. Vérifiez que vous n'en utilisez pas initialement.

Depuis Machine Locale

  • Cloner le repo

    $ git clone [email protected]:make-open-data/make-open-data.git
    

  • Installer et activer un environment virtuel

    $ python3 -m venv dbt-env
    $ source dbt-env/bin/activate
    $ pip install --upgrade pip
    $ pip install -r requirements.txt
    

  • Exporter les clés de l'instance PostgreSQL :

    $ export POSTGRES_USER=<YOUR_POSTGRES_USER> 
    $ export POSTGRES_PASSWORD=<YOUR_POSTGRES_PASSWORD> 
    $ export POSTGRES_HOST=<YOUR_POSTGRES_HOST> 
    $ export POSTGRES_PORT=<YOUR_POSTGRES_PORT> 
    $ export POSTGRES_DB=<YOUR_POSTGRES_DB>
    

  • Connecter DBT à la base de données et vérifier la connection :

    $ export DBT_PROFILES_DIR=. 
    $ dbt debug
    

  • A faire une fois : installer les extensions PostGIS et Unaccent

    psql postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/$POSTGRES_DB
    CREATE EXTENSION postgis;  
    CREATE EXTENSION unaccent;
    

  • Extraire les données des sources à la base de données

    $ python -m extract
    

  • Réaliser et tester les transformations pour avoir obtenir les tables finales

    $ dbt deps
    $ dbt run
    $ dbt test
    - Les tables sources et préparées sont disponibles dans la BDD.