


Gestion des schémas de base de données dans Laravel à l'aide des migrations : un didacticiel approfondi
Les migrations Laravel sont un excellent moyen de gérer les modifications du schéma de base de données. Ils vous permettent de contrôler la version de la structure de la base de données et d'annuler ou de modifier facilement les modifications au fil du temps. Dans ce guide, nous explorerons étape par étape le processus de création, d'exécution et d'annulation des migrations dans Laravel, avec un exemple pratique.
Étape 1 : Configurer l'environnement Laravel
Avant de commencer les migrations, assurez-vous que Laravel est installé. Vous pouvez le faire via Composer :
composer create-project --prefer-dist laravel/laravel migration-demo
Naviguez ensuite dans le dossier du projet :
cd migration-demo
Étape 2 : Configuration de la base de données
Pour configurer la base de données, ouvrez le fichier .env dans votre projet Laravel et mettez à jour les informations d'identification de la base de données :
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=your_database_name DB_USERNAME=your_username DB_PASSWORD=your_password
Après avoir configuré votre base de données, vous pouvez créer une nouvelle base de données dans votre environnement local si elle n'existe pas déjà.
Étape 3 : Créer une migration
Vous pouvez créer une nouvelle migration à l'aide de la commande artisan. Par exemple, pour créer une migration de table d'utilisateurs :
php artisan make:migration create_users_table
Cette commande génère un fichier de migration dans le répertoire database/migrations. Le nom du fichier contiendra un horodatage et ressemblera à 2024_09_13_123456_create_users_table.php.
Étape 4 : Définir le schéma de migration
Ouvrez le fichier de migration généré. Vous trouverez deux méthodes : up() (pour définir la création de la table) et down() (pour définir comment la table doit être restaurée).
Exemple de création d'une table d'utilisateurs :
<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreateUsersTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('users', function (Blueprint $table) { $table->id(); // Primary key $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); $table->rememberToken(); $table->timestamps(); // Created at & Updated at }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('users'); } }
Dans la méthode up(), nous définissons la structure de la table des utilisateurs. La méthode down() définit comment supprimer la table en cas de restauration (c'est-à-dire, supprimer la table).
Étape 5 : Exécuter la migration
Pour lancer la migration et créer la table des utilisateurs dans votre base de données, utilisez la commande suivante :
php artisan migrate
Cette commande exécutera toutes les migrations qui n'ont pas encore été exécutées. Vous devriez voir le résultat suivant :
Migrating: 2024_09_13_123456_create_users_table Migrated: 2024_09_13_123456_create_users_table (0.45 seconds)
Vous pouvez vérifier que la table des utilisateurs a été créée dans votre base de données.
Étape 6 : Annuler les migrations
Pour annuler la migration la plus récente, utilisez la commande suivante :
php artisan migrate:rollback
Cela supprimera la table des utilisateurs ou toute table définie dans le lot de migration le plus récent.
Pour annuler plusieurs étapes de migration, utilisez :
php artisan migrate:rollback --step=2
Cela annule les deux derniers lots de migrations.
Étape 7 : Modifier une table existante
Si vous souhaitez modifier une table existante (par exemple ajouter une colonne), créez une nouvelle migration :
php artisan make:migration add_phone_to_users_table --table=users
Cela crée une migration pour modifier la table des utilisateurs. Vous pouvez ensuite définir les modifications :
public function up() { Schema::table('users', function (Blueprint $table) { $table->string('phone')->nullable(); // Add phone column }); } public function down() { Schema::table('users', function (Blueprint $table) { $table->dropColumn('phone'); // Remove phone column }); }
Exécutez la migration pour appliquer les modifications :
php artisan migrate
Étape 8 : Amorçage de la base de données
Laravel vous permet également d'amorcer la base de données avec des données factices. Pour créer un seeder, utilisez :
php artisan make:seeder UsersTableSeeder
Dans le fichier seeder situé dans database/seeders/UsersTableSeeder.php, vous pouvez définir les données :
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Hash; class UsersTableSeeder extends Seeder { public function run() { DB::table('users')->insert([ 'name' => 'John Doe', 'email' => 'john@example.com', 'password' => Hash::make('password'), ]); } }
Ensuite, lancez le seeder en utilisant :
php artisan db:seed --class=UsersTableSeeder
Vous pouvez également amorcer la base de données lors de la migration en appelant le seeder dans DatabaseSeeder.php.
Étape 9 : Exécuter toutes les migrations et tous les seeders
Pour réinitialiser la base de données et exécuter toutes les migrations et seeders :
php artisan migrate:fresh --seed
Cette commande supprimera toutes les tables, réexécutera toutes les migrations et amorcera la base de données.
Étape 10 : Bonnes pratiques de migration
- Contrôle de version : validez toujours les migrations vers le contrôle de version (Git) avec votre code.
- Petites migrations : divisez les grandes migrations en migrations plus petites pour faciliter la restauration et le débogage.
- Évitez de modifier les migrations existantes : Si vous avez déjà exécuté une migration en production, créez-en une nouvelle pour modifier la base de données au lieu de modifier la migration existante.
Résumé d'un exemple pratique
- Créez un nouveau projet Laravel.
- Configurez le fichier .env pour la connexion à la base de données.
- Créez une migration pour la table des utilisateurs.
- Définissez le schéma de la table dans la méthode up().
- Exécutez la migration avec php artisan migrate.
- Modifiez la table des utilisateurs en ajoutant une colonne téléphone via une autre migration.
- Annulez ou réexécutez les migrations si nécessaire.
- Amorcer la base de données avec des exemples de données.
- Gérez efficacement l'état de la base de données à l'aide des migrations.
En suivant ces étapes, vous pouvez facilement gérer les modifications du schéma de base de données dans Laravel à l'aide des migrations. Les migrations Laravel sont un élément essentiel pour garder la structure de la base de données contrôlée et synchronisée dans différents environnements tels que le développement, la préparation et la production.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

11 meilleurs scripts de raccourcissement d'URL PHP (gratuit et premium)

Travailler avec les données de session Flash dans Laravel

Construisez une application React avec un Laravel Back End: Partie 2, React

Misque de réponse HTTP simplifié dans les tests Laravel

Curl dans PHP: Comment utiliser l'extension PHP Curl dans les API REST

12 meilleurs scripts de chat PHP sur Codecanyon

Annonce de l'enquête sur la situation en 2025 PHP
