Un tool pour la team Imata
Find a file
2025-09-24 17:57:54 +02:00
.githooks feat: post-merge, auto-update 2025-09-17 14:49:27 +02:00
core feat: ajout load-excel 2025-09-24 17:54:38 +02:00
find fix: ajout bcf dans Find 2025-09-24 14:01:01 +02:00
load-excel fix: distinct tmp.sh files pour appels multiples en même temps 2025-09-24 17:57:54 +02:00
migrate fix: distinct tmp.sh files pour appels multiples en même temps 2025-09-24 17:57:54 +02:00
restore fix: distinct tmp.sh files pour appels multiples en même temps 2025-09-24 17:57:54 +02:00
transform fix: distinct tmp.sh files pour appels multiples en même temps 2025-09-24 17:57:54 +02:00
.gitignore feat: ajout de la fonctionnalité transform 2025-08-27 15:46:30 +02:00
go.mod fix: logs du transform corrigés (+ stderr) 2025-08-27 16:32:03 +02:00
go.sum fix: logs du transform corrigés (+ stderr) 2025-08-27 16:32:03 +02:00
main.go feat: ajout load-excel 2025-09-24 17:54:38 +02:00
README.md feat: post-merge, auto-update 2025-09-17 14:49:27 +02:00

halpert

Installation

1/ Cloner le projet dans un répertoire
git clone https://git.sonpike.net/thomas/halpert.git

2/ Exécuter le fichier d'installation ./.githooks/post-merge

3/ Pour avoir les mises à jour automatiques après un git pull de halpert
il faut définir le "hookPath" de git vers le répertoire ./.githooks/ du projet
git config core.hooksPath .githooks

Et voilà finito !

Mise à jour

Avec mise à jour auto : rien à faire (le fichier post-merge est exécuté après git pull)

Sans mise à jour auto : pour mettre halpert à jour par la suite il suffit de
relancer un go install dans le répertoire de halpert après avoir git pull les dernières modifs.

Utilisation

1. Command Find

On peut utiliser la commande halpert find pour trouver tous les fichiers contenant une table dans la codebase.

halpert find customers

Le résultat est sous la forme :

[schema_database] local_path/to/file.sql

où le local_path/to/file.sql est un lien qui permet d'ouvrir directement le ficher.
Le fichier est ouvert avec l'app par défaut pour les fichiers .sql.

Perso je recommande donc de définir Datagrip comme app par défaut pour ce type de fichier :
1/ Dans le Finder, sélectionner un fichier .sql
2/ Faire clic-droit > Lire les informations
3/ Dans la section "Ouvrir avec" : choisir Datagrip
4/ Cliquer sur "Tout modifier..." et valider le dialogue

2. Command Transform

On peut utiliser la commande halpert transform pour lancer un transform "local" sur une campagne de migration.

Les paramètres (agency_code, short_name, source_schema) sont déterminés automatiquement. La commande exécute :

  • extraction (si demandé)
  • ddl
  • transform

Exemple :
halpert transform esset_copro_test

Extraction

En paramètre on peut préciser si on a besoin d'une extraction en ajoutant extract après le nom de la migration.

Exemple :
halpert transform immocorse_nicolas_test extract

A noter: si halpert détecte que le logiciel source est POWIMO et que l'utilisateur·ice n'a pas demandé l'extraction, alors on lui demandera s'il·elle souhaite exécuter l'extraction avant le transform.

3. Command Restore

Pour le restore raw_data, on peut utiliser la commande restore

Exemple :
halpert restore immocorse_nicolas_test

4. Command Migrate

On peut lancer une migration remote sur une branche avec la commande migrate.
Par défaut, la commande va chercher la branche "courante" sur git.

On peut passer un flag --branch=<my_branch> pour spécifier une branch particulière.

Attention: on ne peut pas lancer du migration sur main !

halpert bloquera automatiquement si la branche courante est main ou si on passe "--branch=main" en paramètre.

Exemple :
halpert migrate esset_copro_test
prendra la branche courante

halpert migrate esset_copro_test --branch=mabranche/DATA-1234/pouet-cacahuète
lancera une mig sur mabranche/DATA-1234/pouet-cacahuète