MAKE

Installer Make
Créer un fichier de commandes

Le programme Make permet de décrire des ensembles de lignes de commandes et pouvoir les rappeler dès que nécessaires. Cela peut être pratique avec Symfony pour pouvoir regénérer la base de données dans son ensemble ou initialiser le projet après l’avoir cloné de Github.

Installation

Vous pouvez installer Make via Chocolatey (Windows) grâce à la commande :

choco install make

ou via Homebrew (Mac) avec la commande :

brew install make

Fichier Make

Vous allez pouvoir créer un fichier Make à la racine de votre projet, appelez le makefile.

Le contenu de ce fichier peut, par exemple être :

## Variables
SYMFONY_CONSOLE = symfony console

cache-clear: ## Clear cache
	$(SYMFONY_CONSOLE) cache:clear --no-warmup --env=dev

## --- 📊 Database ---
database-init:
	$(MAKE) database-remove
	$(MAKE) database-create
	$(MAKE) database-migrate
	$(MAKE) database-fixtures-load

database-remove: ## delete database
	$(SYMFONY_CONSOLE) d:d:d --force --if-exists

database-create: ## create database
	$(SYMFONY_CONSOLE) d:d:c --if-not-exists

database-test: ## test la connexion à la base de données
	$(SYMFONY_CONSOLE) doctrine:query:sql "SELECT 1"

migration: ## make migration
	$(MAKE) database-migration

database-migrate: ## Migrate migrations
	$(SYMFONY_CONSOLE) d:m:m --no-interaction

migrate: ## Alias: database-migrate
	$(MAKE) database-migrate	

database-fixtures-load: ## Load fixtures
	$(SYMFONY_CONSOLE) d:f:l --no-interaction

fixtures: ## Alias : database-fixtures-load
	$(MAKE) database-fixtures-load

Il est possible de créer des variables pour ne pas répéter certaines parties de commandes (ligne 2). Vous pouvez utiliser cette variable en plaçant son nom dans la structure $( ) (ligne 5).

Pour indiquer un nouveau bloc de commandes, il faut lui donner un nom suivi de : puis les lignes de commandes à exécuter.

Vous pouvez aussi faire des sous-blocs (ligne 11) et les appeler en ajoutant $(MAKE) devant (ligne 7).

Utilisation du fichier

Dans votre terminal, vous pouvez appeler un bloc de commandes de la manière suivante :

make nombloc

en remplaçant nombloc par le nom du bloc ou sous-bloc que vous souhaitez lancer.