---
sidebar_position: 3
title: "Création de Migrations"
---

# Création de Migrations

---

Chaque nouvelle modification de la base de données doit être ajoutée sous la forme d'un **tout nouveau** fichier de migration.

## Convention de Nommage

Flyway exige un format de nommage exact pour reconnaître et ordonner correctement les migrations :

```text
V<version>__<description>.sql
```

### Exemples
- `V1__initial_schema.sql`
- `V2__task301_add_tables_t1_t2.sql`
- `V3__add_client_phone.sql`
- `V4__fix_invoice_indexes.sql`

> [!WARNING]
> **Règles Importantes :**
> - Vous **devez** utiliser exactement DEUX tirets du bas (`__`) après le numéro de version.
> - Ne modifiez **jamais** les anciennes migrations déjà exécutées.
> - Ne renommez **jamais** les anciennes migrations après leur exécution sur un environnement.
> - Créez toujours un nouveau fichier de migration pour les nouveaux changements.

---

## Exemple de Workflow

Si vous devez ajouter de nouvelles tables pour une tâche spécifique (par ex., Tâche 301), créez un fichier nommé `V2__task301_add_tables_t1_t2.sql` avec le contenu nécessaire :

```sql
CREATE TABLE table1 (
    id BIGSERIAL PRIMARY KEY
);

CREATE TABLE table2 (
    id BIGSERIAL PRIMARY KEY
);
```

Faites un commit de ce fichier avec les modifications de votre code applicatif et faites un push vers le dépôt.
