-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
42 lines (33 loc) · 1.46 KB
/
Copy pathMakefile
File metadata and controls
42 lines (33 loc) · 1.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# Charge les variables d'environnement depuis le fichier .env s'il existe
ifneq (,$(wildcard ./.env))
include .env
export
endif
# Variables par défaut
MIGRATION_PATH=./migrations
.PHONY: migrate-up migrate-down migrate-create migrate-force migrate-version migrate-goto reset-db
# Commande pour migrer UP
migrate-up:
migrate -path=$(MIGRATION_PATH) -database="$(DATABASE_URL)" up
# Commande pour migrer DOWN (annuler la dernière)
migrate-down:
migrate -path=$(MIGRATION_PATH) -database="$(DATABASE_URL)" down 1
# Helper pour créer une nouvelle migration
# Utilisation : make migrate-create name=add_users_table
migrate-create:
migrate create -ext sql -dir $(MIGRATION_PATH) -seq $(name)
# Commande pour forcer une version (en cas d'erreur "Dirty database")
# Utilisation : make migrate-force version=1
migrate-force:
migrate -path=$(MIGRATION_PATH) -database="$(DATABASE_URL)" force $(version)
# Commande pour afficher la version actuelle de la base de données
migrate-version:
migrate -path=$(MIGRATION_PATH) -database="$(DATABASE_URL)" version
# Commande pour aller à une version spécifique de la base de données
# Utilisation : make migrate-goto version=2
migrate-goto:
migrate -path=$(MIGRATION_PATH) -database="$(DATABASE_URL)" goto $(version)
# Commande pour Supprimer TOUTES les tables et redémarrer les migrations
reset-db:
migrate -path=$(MIGRATION_PATH) -database="$(DATABASE_URL)" drop -f
migrate -path=$(MIGRATION_PATH) -database="$(DATABASE_URL)" up