Académique Documents
Professionnel Documents
Culture Documents
Laravel fournit une interface de ligne de commande pour générer et exécuter des
migrations, ce qui facilite la gestion des modifications apportées à la base de
données.
Pour utiliser les migrations dans Laravel, vous devez configurer votre base de
données. Pour ce faire, vous devez modifier le fichier .env et y ajouter les
informations de connexion à votre base de données.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=nom_de_la_base_de_donnees
DB_USERNAME=nom_d_utilisateur
DB_PASSWORD=mot_de_passe
Pour créer une table avec une migration, vous devez exécuter la commande suivante
dans la console Laravel :
{
Schema::create('nom_de_la_table', function (Blueprint $table) {
$table->id();
$table->string('nom');
$table->string('email')->unique();
$table->timestamps();
});
Pour modifier une table existante, vous pouvez créer une nouvelle migration en
utilisant la commande suivante :
Par exemple, pour ajouter une colonne à une table, vous pouvez utiliser la méthode
addColumn :
$table->string('nouvelle_colonne');
});
$table->dropColumn('nouvelle_colonne');
});
}
Lorsque vous êtes prêt à exécuter la migration, exécutez la commande suivante :
Pour supprimer une table avec une migration, vous pouvez créer une nouvelle
migration en utilisant la commande suivante :
Cela générera un fichier de migration qui contiendra une méthode `up` et une méthode `down`. La
méthode `up` contiendra le code pour supprimer la table, tandis que la méthode `down` contiendra
le code pour recréer la table.
Par exemple, pour supprimer une table nommée `users`, vous pouvez utiliser la méthode
`dropIfExists` :
```php
Schema::dropIfExists('users');
$table->id();
$table->string('nom');
$table->string('email')->unique();
$table->timestamps();
});
}
Lorsque vous êtes prêt à exécuter la migration, exécutez la commande suivante :
Voici quelques exemples de migrations que vous pouvez utiliser pour votre projet
Laravel :
Créer une table articles avec les colonnes id, titre, contenu et date de
publication :
public function up()
$table->id();
$table->string('titre');
$table->text('contenu');
$table->timestamp('date_publication')->nullable();
$table->timestamps();
});
Schema::dropIfExists('articles');
$table->string('slug')->unique();
});
$table->dropColumn('slug');
});
Schema::dropIfExists('categories');
$table->id();
$table->string('nom');
$table->timestamps();
});
Exercice 1 : Créez une migration pour une table utilisateurs avec les colonnes id,
nom, email et mot de passe.
Correction :
$table->id();
$table->string('nom');
$table->string('email')->unique();
$table->string('mot_de_passe');
$table->timestamps();
});
Schema::dropIfExists('utilisateurs');
Correction :
$table->string('role')->default('utilisateur');
});
$table->dropColumn('role');
});
Exercice 3 : Créez une migration pour une table `commentaires` avec les colonnes `id`, `contenu` et
`date de création`. La table doit être associée à la table `articles`.
Correction :
```php
$table->id();
$table->text('contenu');
$table->timestamp('created_at')->nullable();
$table->foreignId('article_id')->constrained();
$table->timestamps();
});
Schema::dropIfExists('commentaires');
8. Conclusion
Les migrations sont un outil très utile pour la gestion de la base de données dans un
projet Laravel. Elles permettent de créer et de modifier facilement la structure de la
base de données, tout en gardant une trace de toutes les modifications effectuées. En
suivant les bonnes pratiques et en utilisant les outils fournis par Laravel, vous pouvez
facilement gérer les migrations dans votre projet et garantir une base de données
stable et bien structurée.