.githooks | ||
core | ||
find | ||
load-excel | ||
migrate | ||
restore | ||
transform | ||
.gitignore | ||
go.mod | ||
go.sum | ||
main.go | ||
README.md |
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