Académique Documents
Professionnel Documents
Culture Documents
VERS ION
9.x
Recherche
# Génération de migrations
# Structure migratoire
# Exécution de migrations
# les tables
# Création de tableaux
# Colonnes
# Création de colonnes
# Modificateurs de colonne
# Suppression de colonnes
# Index
# Création d'index
# Suppression d'index
# Événements
# Introduction
Les migrations sont comme un contrôle de version pour votre base de données,
permettant à votre équipe de définir et de partager la définition du schéma de
base de données de l'application. Si vous avez déjà dû demander à un coéquipier
d'ajouter manuellement une colonne à son schéma de base de données local
après avoir extrait vos modifications du contrôle de code source, vous avez été
confronté au problème résolu par les migrations de base de données.
# Génération de migrations
Vous pouvez utiliser la make:migration commande Artisan pour générer une
migration de base de données. La nouvelle migration sera placée dans votre
database/migrations répertoire. Chaque nom de fichier de migration contient un
horodatage qui permet à Laravel de déterminer l'ordre des migrations :
https://laravel.com/docs/9.x/migrations#main-content 2/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
migrations. Si vous le souhaitez, vous pouvez "écraser" vos migrations dans un seul
fichier SQL. Pour commencer, exécutez la schema:dump commande :
# Dump the current database schema and prune all existing migrations...
php artisan schema:dump --prune
Lorsque vous exécutez cette commande, Laravel écrira un fichier "schéma" dans
database/schema le répertoire de votre application. Le nom du fichier de schéma
https://laravel.com/docs/9.x/migrations#main-content 3/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
Vous devez valider votre fichier de schéma de base de données dans le contrôle de
code source afin que d'autres nouveaux développeurs de votre équipe puissent
créer rapidement la structure de base de données initiale de votre application.
# Structure migratoire
https://laravel.com/docs/9.x/migrations#main-content 4/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
Dans ces deux méthodes, vous pouvez utiliser le générateur de schémas Laravel
pour créer et modifier des tables de manière expressive. Pour en savoir plus sur
toutes les méthodes disponibles sur le Schema constructeur, consultez sa
documentation . Par exemple, la migration suivante crée une flights table :
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
https://laravel.com/docs/9.x/migrations#main-content 5/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
Schema::drop('flights');
}
};
Si votre migration interagit avec une connexion à la base de données autre que la
connexion à la base de données par défaut de votre application, vous devez
définir la $connection propriété de votre migration :
/**
* The database connection that should be used by the migration.
*
* @var string
*/
protected $connection = 'pgsql';
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
//
}
# Exécution de migrations
Pour exécuter toutes vos migrations en attente, exécutez la migrate commande
Artisan :
Si vous souhaitez voir quelles migrations ont été exécutées jusqu'à présent, vous
pouvez utiliser la migrate:status commande Artisan :
https://laravel.com/docs/9.x/migrations#main-content 6/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
Si vous souhaitez voir les instructions SQL qui seront exécutées par les migrations
sans les exécuter réellement, vous pouvez fournir l' --pretend indicateur à la migrate
commande :
Si vous déployez votre application sur plusieurs serveurs et exécutez des migrations
dans le cadre de votre processus de déploiement, vous ne souhaitez
probablement pas que deux serveurs tentent de migrer la base de données en
même temps. Pour éviter cela, vous pouvez utiliser l' isolated option lors de l'appel
de la migrate commande.
Lorsque l' isolated option est fournie, Laravel acquiert un verrou atomique à l'aide
du pilote de cache de votre application avant de tenter d'exécuter vos migrations.
Toutes les autres tentatives d'exécution de la migrate commande pendant que ce
verrou est maintenu ne s'exécuteront pas ; cependant, la commande se terminera
toujours avec un code d'état de sortie réussie :
https://laravel.com/docs/9.x/migrations#main-content 7/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
Vous pouvez annuler un nombre limité de migrations en fournissant l' step option à
la rollback commande. Par exemple, la commande suivante annulera les cinq
dernières migrations :
https://laravel.com/docs/9.x/migrations#main-content 8/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
# les tables
# Création de tableaux
https://laravel.com/docs/9.x/migrations#main-content 9/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
Pour créer une nouvelle table de base de données, utilisez la create méthode sur la
Schema façade. La create méthode accepte deux arguments : le premier est le nom
de la table, tandis que le second est une fermeture qui reçoit un Blueprint objet
pouvant être utilisé pour définir la nouvelle table :
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
Vous pouvez vérifier l'existence d'une table ou d'une colonne en utilisant les
méthodes hasTable et hasColumn :
if (Schema::hasTable('users')) {
// The "users" table exists...
}
if (Schema::hasColumn('users', 'email')) {
// The "users" table exists and has an "email" column...
}
Si vous souhaitez effectuer une opération de schéma sur une connexion à la base
de données qui n'est pas la connexion par défaut de votre application, utilisez la
connection méthode :
https://laravel.com/docs/9.x/migrations#main-content 10/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
$table->id();
});
De plus, quelques autres propriétés et méthodes peuvent être utilisées pour définir
d'autres aspects de la création de la table. La engine propriété peut être utilisée
pour spécifier le moteur de stockage de la table lors de l'utilisation de MySQL :
// ...
});
Les propriétés charset et collation peuvent être utilisées pour spécifier le jeu de
caractères et le classement de la table créée lors de l'utilisation de MySQL :
// ...
});
La temporary méthode peut être utilisée pour indiquer que la table doit être
"temporaire". Les tables temporaires ne sont visibles que pour la session de base
de données de la connexion en cours et sont supprimées automatiquement
lorsque la connexion est fermée :
// ...
});
https://laravel.com/docs/9.x/migrations#main-content 11/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
// ...
});
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\Facades\Schema;
Schema::rename($from, $to);
Pour supprimer une table existante, vous pouvez utiliser les méthodes drop ou
dropIfExists :
Schema::drop('users');
https://laravel.com/docs/9.x/migrations#main-content 12/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
Schema::dropIfExists('users');
Avant de renommer une table, vous devez vérifier que toutes les contraintes de clé
étrangère sur la table ont un nom explicite dans vos fichiers de migration au lieu
de laisser Laravel attribuer un nom basé sur une convention. Sinon, le nom de la
contrainte de clé étrangère fera référence à l'ancien nom de table.
# Colonnes
# Création de colonnes
La table méthode sur la Schema façade peut être utilisée pour mettre à jour des
tables existantes. Comme la create méthode, la table méthode accepte deux
arguments : le nom de la table et une fermeture qui reçoit une
Illuminate\Database\Schema\Blueprint instance que vous pouvez utiliser pour ajouter
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
https://laravel.com/docs/9.x/migrations#main-content 13/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
# bigIncrements()
$table->bigIncrements('id');
# bigInteger()
$table->bigInteger('votes');
https://laravel.com/docs/9.x/migrations#main-content 14/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
# binary()
$table->binary('photo');
# boolean()
$table->boolean('confirmed');
# char()
La char méthode crée une CHAR colonne équivalente d'une longueur donnée :
$table->char('name', 100);
# dateTimeTz()
# dateTime()
La dateTime méthode crée une DATETIME colonne équivalente avec une précision
facultative (nombre total de chiffres) :
https://laravel.com/docs/9.x/migrations#main-content 15/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
# date()
$table->date('created_at');
# decimal()
# double()
La double méthode crée une DOUBLE colonne équivalente avec la précision donnée
(chiffres totaux) et l'échelle (chiffres décimaux) :
$table->double('amount', 8, 2);
# enum()
La enum méthode crée une ENUM colonne équivalente avec les valeurs valides
indiquées :
# float()
La float méthode crée une FLOAT colonne équivalente avec la précision donnée
(chiffres totaux) et l'échelle (chiffres décimaux) :
https://laravel.com/docs/9.x/migrations#main-content 16/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
$table->float('amount', 8, 2);
# foreignId()
$table->foreignId('user_id');
# foreignIdFor()
$table->foreignIdFor(User::class);
# foreignUlid()
$table->foreignUlid('user_id');
# foreignUuid()
$table->foreignUuid('user_id');
# geometryCollection()
https://laravel.com/docs/9.x/migrations#main-content 17/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
$table->geometryCollection('positions');
# geometry()
$table->geometry('positions');
# id()
$table->id();
# increments()
$table->increments('id');
# integer()
$table->integer('votes');
# ipAddress()
https://laravel.com/docs/9.x/migrations#main-content 18/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
$table->ipAddress('visitor');
# json()
$table->json('options');
# jsonb()
$table->jsonb('options');
# lineString()
$table->lineString('positions');
# longText()
$table->longText('description');
# macAddress()
https://laravel.com/docs/9.x/migrations#main-content 19/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
La macAddress méthode crée une colonne destinée à contenir une adresse MAC.
Certains systèmes de base de données, tels que PostgreSQL, ont un type de
colonne dédié pour ce type de données. D'autres systèmes de base de données
utiliseront une colonne équivalente à une chaîne :
$table->macAddress('device');
# mediumIncrements()
$table->mediumIncrements('id');
# mediumInteger()
$table->mediumInteger('votes');
# mediumText()
$table->mediumText('description');
# morphs()
La morphs méthode est une méthode pratique qui ajoute une {column}_id
UNSIGNED BIGINT colonne équivalente et une {column}_type VARCHAR colonne
équivalente.
https://laravel.com/docs/9.x/migrations#main-content 20/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
Cette méthode est destinée à être utilisée lors de la définition des colonnes
nécessaires à une relation Eloquent polymorphe . Dans l'exemple suivant, les
colonnes taggable_id et taggable_type seraient créées :
$table->morphs('taggable');
# multiLineString()
$table->multiLineString('positions');
# multiPoint()
$table->multiPoint('positions');
# multiPolygon()
$table->multiPolygon('positions');
# nullableTimestamps()
$table->nullableTimestamps(0);
# nullableMorphs()
https://laravel.com/docs/9.x/migrations#main-content 21/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
$table->nullableMorphs('taggable');
# nullableUlidMorphs()
$table->nullableUlidMorphs('taggable');
# nullableUuidMorphs()
$table->nullableUuidMorphs('taggable');
# point()
$table->point('position');
# polygon()
$table->polygon('position');
https://laravel.com/docs/9.x/migrations#main-content 22/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
# rememberToken()
$table->rememberToken();
# set()
La set méthode crée une SET colonne équivalente avec la liste donnée de valeurs
valides :
# smallIncrements()
$table->smallIncrements('id');
# smallInteger()
$table->smallInteger('votes');
# softDeletesTz()
https://laravel.com/docs/9.x/migrations#main-content 23/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
# softDeletes()
# string()
$table->string('name', 100);
# text()
$table->text('description');
# timeTz()
La timeTz méthode crée une TIME colonne équivalente (avec fuseau horaire) avec
une précision facultative (chiffres totaux) :
# time()
https://laravel.com/docs/9.x/migrations#main-content 24/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
La time méthode crée une TIME colonne équivalente avec une précision facultative
(nombre total de chiffres) :
# timestampTz()
# timestamp()
La timestamp méthode crée une TIMESTAMP colonne équivalente avec une précision
facultative (nombre total de chiffres) :
# timestampsTz()
$table->timestampsTz($precision = 0);
# timestamps()
$table->timestamps($precision = 0);
https://laravel.com/docs/9.x/migrations#main-content 25/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
# tinyIncrements()
$table->tinyIncrements('id');
# tinyInteger()
$table->tinyInteger('votes');
# tinyText()
$table->tinyText('notes');
# unsignedBigInteger()
$table->unsignedBigInteger('votes');
# unsignedDecimal()
https://laravel.com/docs/9.x/migrations#main-content 26/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
# unsignedInteger()
$table->unsignedInteger('votes');
# unsignedMediumInteger()
$table->unsignedMediumInteger('votes');
# unsignedSmallInteger()
$table->unsignedSmallInteger('votes');
# unsignedTinyInteger()
$table->unsignedTinyInteger('votes');
# ulidMorphs()
La ulidMorphs méthode est une méthode pratique qui ajoute une {column}_id
CHAR(26) colonne équivalente et une {column}_type VARCHAR colonne équivalente.
Cette méthode est destinée à être utilisée lors de la définition des colonnes
nécessaires pour une relation Eloquent polymorphe qui utilise des identifiants
https://laravel.com/docs/9.x/migrations#main-content 27/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
$table->ulidMorphs('taggable');
# uuidMorphs()
La uuidMorphs méthode est une méthode pratique qui ajoute une {column}_id
CHAR(36) colonne équivalente et une {column}_type VARCHAR colonne équivalente.
Cette méthode est destinée à être utilisée lors de la définition des colonnes
nécessaires à une relation Eloquent polymorphe qui utilise des identifiants UUID.
Dans l'exemple suivant, les colonnes taggable_id et taggable_type seraient créées :
$table->uuidMorphs('taggable');
# ulid()
$table->ulid('id');
# uuid()
$table->uuid('id');
# year()
https://laravel.com/docs/9.x/migrations#main-content 28/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
$table->year('birth_year');
# Modificateurs de colonne
En plus des types de colonne répertoriés ci-dessus, il existe plusieurs
"modificateurs" de colonne que vous pouvez utiliser lors de l'ajout d'une colonne à
une table de base de données. Par exemple, pour rendre la colonne "nullable",
vous pouvez utiliser la nullable méthode :
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
Modificateur Description
->after('column') Placez la colonne "après" une autre colonne (MySQL).
https://laravel.com/docs/9.x/migrations#main-content 29/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
Modificateur Description
Rendre la colonne "invisible" aux SELECT * requêtes
->invisible()
(MySQL).
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
https://laravel.com/docs/9.x/migrations#main-content 30/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
use Illuminate\Database\Query\Expression;
use Illuminate\Database\Migrations\Migration;
La prise en charge des expressions par défaut dépend de votre pilote de base
de données, de la version de la base de données et du type de champ. Veuillez
vous référer à la documentation de votre base de données. De plus, il n'est pas
possible de combiner default des expressions brutes (en utilisant DB::raw ) avec
des changements de colonne via la change méthode.
https://laravel.com/docs/9.x/migrations#main-content 31/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
$table->string('address_line2');
$table->string('city');
});
use Illuminate\Database\DBAL\TimestampType;
'dbal' => [
'types' => [
'timestamp' => TimestampType::class,
],
],
https://laravel.com/docs/9.x/migrations#main-content 32/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
Nous pourrions également modifier une colonne pour qu'elle soit nullable :
https://laravel.com/docs/9.x/migrations#main-content 33/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
$table->renameColumn('from', 'to');
});
# Dropping Columns
To drop a column, you may use the dropColumn method on the schema builder:
You may drop multiple columns from a table by passing an array of column names
to the dropColumn method:
If you are running a version of SQLite prior to 3.35.0 , you must install the
doctrine/dbal package via the Composer package manager before the dropColumn
method may be used. Dropping or modifying multiple columns within a single
migration while using this package is not supported.
https://laravel.com/docs/9.x/migrations#main-content 34/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
Command Description
Drop the morphable_id and morphable_type
$table->dropMorphs('morphable');
columns.
# Indexes
# Creating Indexes
The Laravel schema builder supports several types of indexes. The following
example creates a new email column and specifies that its values should be
unique. To create the index, we can chain the unique method onto the column
definition:
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
Alternatively, you may create the index after defining the column. To do so, you
should call the unique method on the schema builder blueprint. This method
https://laravel.com/docs/9.x/migrations#main-content 35/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
accepts the name of the column that should receive a unique index:
$table->unique('email');
You may even pass an array of columns to an index method to create a compound
(or composite) index:
$table->index(['account_id', 'created_at']);
When creating an index, Laravel will automatically generate an index name based
on the table, column names, and the index type, but you may pass a second
argument to the method to specify the index name yourself:
$table->unique('email', 'unique_email');
Laravel's schema builder blueprint class provides methods for creating each type
of index supported by Laravel. Each index method accepts an optional second
argument to specify the name of the index. If omitted, the name will be derived
from the names of the table and column(s) used for the index, as well as the index
type. Each of the available index methods is described in the table below:
Command Description
$table->primary('id'); Adds a primary key.
https://laravel.com/docs/9.x/migrations#main-content 36/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
Command Description
$table->spatialIndex('location'); Adds a spatial index (except SQLite).
By default, Laravel uses the utf8mb4 character set. If you are running a version of
MySQL older than the 5.7.7 release or MariaDB older than the 10.2.2 release, you
may need to manually configure the default string length generated by migrations
in order for MySQL to create indexes for them. You may configure the default string
length by calling the Schema::defaultStringLength method within the boot method
of your App\Providers\AppServiceProvider class:
use Illuminate\Support\Facades\Schema;
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Schema::defaultStringLength(191);
}
Alternatively, you may enable the innodb_large_prefix option for your database.
Refer to your database's documentation for instructions on how to properly enable
this option.
# Renaming Indexes
To rename an index, you may use the renameIndex method provided by the schema
builder blueprint. This method accepts the current index name as its first argument
and the desired name as its second argument:
$table->renameIndex('from', 'to')
https://laravel.com/docs/9.x/migrations#main-content 37/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
# Dropping Indexes
To drop an index, you must specify the index's name. By default, Laravel
automatically assigns an index name based on the table name, the name of the
indexed column, and the index type. Here are some examples:
Command Description
Drop a primary key from the
$table->dropPrimary('users_id_primary');
"users" table.
If you pass an array of columns into a method that drops indexes, the conventional
index name will be generated based on the table name, columns, and index type:
https://laravel.com/docs/9.x/migrations#main-content 38/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
$table->foreign('user_id')->references('id')->on('users');
});
Since this syntax is rather verbose, Laravel provides additional, terser methods that
use conventions to provide a better developer experience. When using the
foreignId method to create your column, the example above can be rewritten like
so:
The foreignId method creates an UNSIGNED BIGINT equivalent column, while the
constrained method will use conventions to determine the table and column name
being referenced. If your table name does not match Laravel's conventions, you
may specify the table name by passing it as an argument to the constrained
method:
You may also specify the desired action for the "on delete" and "on update"
properties of the constraint:
https://laravel.com/docs/9.x/migrations#main-content 39/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
$table->foreignId('user_id')
->constrained()
->onUpdate('cascade')
->onDelete('cascade');
Method Description
$table->cascadeOnUpdate(); Updates should cascade.
Any additional column modifiers must be called before the constrained method:
$table->foreignId('user_id')
->nullable()
->constrained();
To drop a foreign key, you may use the dropForeign method, passing the name of
the foreign key constraint to be deleted as an argument. Foreign key constraints
use the same naming convention as indexes. In other words, the foreign key
constraint name is based on the name of the table and the columns in the
constraint, followed by a "_foreign" suffix:
$table->dropForeign('posts_user_id_foreign');
Alternatively, you may pass an array containing the column name that holds the
foreign key to the dropForeign method. The array will be converted to a foreign key
https://laravel.com/docs/9.x/migrations#main-content 40/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
$table->dropForeign(['user_id']);
You may enable or disable foreign key constraints within your migrations by using
the following methods:
Schema::enableForeignKeyConstraints();
Schema::disableForeignKeyConstraints();
Schema::withoutForeignKeyConstraints(function () {
// Constraints disabled within this closure...
});
SQLite disables foreign key constraints by default. When using SQLite, make
sure to enable foreign key support in your database configuration before
attempting to create them in your migrations. In addition, SQLite only supports
foreign keys upon creation of the table and not when tables are altered.
# Events
For convenience, each migration operation will dispatch an event. All of the
following events extend the base Illuminate\Database\Events\MigrationEvent class:
Class Description
Illuminate\Database\Events\MigrationsStarted A batch of migrations is about to be
https://laravel.com/docs/9.x/migrations#main-content 41/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
Class Description
executed.
HIGHLIGHTS RESOURCES
Routing Laracon
Authorization Jobs
Database Trademark
Eloquent ORM
Testing
https://laravel.com/docs/9.x/migrations#main-content 42/43
27/03/2023 02:56 Base de données : Migrations - Laravel - Le framework PHP pour les artisans du web
PARTNERS ECOSYSTEM
WebReinvent Cashier
Vehikl Dusk
Tighten Echo
64 Robots Envoyer
Byte 5 Horizon
Curotec Nova
Cyber-Duck Octane
DevSquad Sail
Jump24 Sanctum
Kirschbaum Scout
Spark
Telescope
Valet
Vapor
Laravel est une marque déposée de Taylor Otwell. Copyright © 2011-2023 Laravel LLC.
https://laravel.com/docs/9.x/migrations#main-content 43/43