Maison > développement back-end > tutoriel php > Quelles sont les migrations à Laravel?

Quelles sont les migrations à Laravel?

百草
Libérer: 2025-03-20 18:34:41
original
118 Les gens l'ont consulté

Quelles sont les migrations à Laravel?

Les migrations à Laravel sont un type de contrôle de version pour les bases de données. Ils permettent aux développeurs de gérer et de modifier la structure de leurs bases de données en utilisant le code PHP, plutôt que d'écrire manuellement les instructions SQL. Les migrations fournissent un moyen de définir les changements de schéma de base de données dans une série d'étapes incrémentielles, ce qui facilite la modification et le partage des changements de structure de base de données dans différents environnements et les membres de l'équipe.

Les migrations à Laravel sont essentiellement des classes PHP qui étendent la classe Migration de base fournie par le cadre. Ces classes contiennent deux méthodes principales: up en down . La méthode up définit les actions à entreprendre lors de la migration «UP», comme la création d'une nouvelle table ou l'ajout d'une colonne, tandis que la méthode down définit comment inverser ces modifications, telles que la suppression d'une table ou la suppression d'une colonne.

Comment les migrations peuvent-elles aider à gérer les changements de schéma de base de données dans Laravel?

Les migrations aident à gérer les changements de schéma de base de données dans Laravel de plusieurs manières:

  1. Contrôle de version : les migrations agissent comme un système de contrôle de version pour votre schéma de base de données. En suivant les modifications du code, vous pouvez garder un historique de la façon dont votre base de données a évolué au fil du temps.
  2. Collaboration : les migrations permettent aux équipes de collaborer plus facilement sur un projet. Les développeurs peuvent travailler sur différentes fonctionnalités qui peuvent nécessiter des modifications de la base de données, et ces modifications peuvent être facilement fusionnées et partagées avec d'autres via les fichiers de migration.
  3. Cohérence : l'utilisation des migrations garantit que tous les environnements (développement, stadification, production) ont le même schéma. Cela réduit le risque d'erreurs qui se produisent en raison de décalages de schéma dans différents environnements.
  4. Rollbacks : les migrations vous permettent de faire reculer les modifications en cas de problème. Cela signifie que vous pouvez revenir facilement à un état précédent de votre base de données, ce qui est particulièrement utile pendant les phases de développement et de test.
  5. Automatisation : les migrations peuvent être exécutées automatiquement dans le cadre de votre processus de déploiement, réduisant les risques d'erreur humaine et garantissant que votre schéma de base de données est toujours à jour.

Quel est le processus de création et d'exécution d'une migration à Laravel?

Le processus de création et d'exécution d'une migration dans Laravel implique plusieurs étapes:

  1. Créer une migration : pour créer une nouvelle migration, vous pouvez utiliser la commande make:migration Artisan. Par exemple, pour créer une migration qui ajoute une nouvelle table appelée users , vous exécutez:

     <code>php artisan make:migration create_users_table</code>
    Copier après la connexion

    Cette commande créera un nouveau fichier PHP dans le répertoire database/migrations .

  2. Modifiez le fichier de migration : ouvrez le fichier nouvellement créé et modifiez les méthodes up down pour définir les modifications du schéma. Par exemple, pour créer une table users , votre méthode up peut ressembler à ceci:

     <code class="php">public function up() { Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamps(); }); }</code>
    Copier après la connexion

    La méthode down devrait inverser ces changements:

     <code class="php">public function down() { Schema::dropIfExists('users'); }</code>
    Copier après la connexion
  3. Exécutez la migration : Pour appliquer les modifications à la base de données, utilisez la commande migrate Artisan:

     <code>php artisan migrate</code>
    Copier après la connexion

    Cette commande exécutera la méthode up de toutes les migrations en attente, à la mise à jour du schéma de base de données en conséquence.

Les migrations peuvent-elles être annulées à Laravel, et si oui, comment?

Oui, les migrations à Laravel peuvent être annulées. Cette fonctionnalité est particulièrement utile pendant le développement lorsque vous devrez peut-être annuler les changements de schéma récents. Pour faire reculer la dernière migration, vous pouvez utiliser la commande rollback Artisan:

 <code>php artisan migrate:rollback</code>
Copier après la connexion

Cette commande exécutera la méthode down de la migration la plus récente, inversant les modifications qu'elle a apportées à la base de données.

Si vous avez besoin de faire reculer plusieurs migrations, vous pouvez spécifier le nombre de migrations pour faire du retour à l'aide de l'option --step . Par exemple, pour faire reculer les trois dernières migrations, vous courez:

 <code>php artisan migrate:rollback --step=3</code>
Copier après la connexion

En plus de faire reculer les migrations, Laravel fournit la commande migrate:reset , qui fait reculer toutes les migrations:

 <code>php artisan migrate:reset</code>
Copier après la connexion

Cela annulera toutes les migrations et laissera votre base de données dans son état initial. Si vous souhaitez faire reculer toutes les migrations, puis réécouter toutes les migrations, vous pouvez utiliser la commande migrate:refresh :

 <code>php artisan migrate:refresh</code>
Copier après la connexion

Cela équivaut à la course migrate:reset suivi de migrate .

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal