Migraciones
Las migraciones son como un control de versiones para tu base de datos. Permiten al equipo definir y compartir el esquema de la base de datos de forma programatica, evitando tener que ejecutar SQL manualmente.
Crear y ejecutar migraciones
php artisan make:migration create_posts_table
return new class extends Migration
{
public function up(): void
{
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->foreignId('user_id')->constrained()->cascadeOnDelete();
$table->string('title');
$table->string('slug')->unique();
$table->text('body');
$table->boolean('published')->default(false);
$table->timestamp('published_at')->nullable();
$table->timestamps();
});
}
public function down(): void
{
Schema::dropIfExists('posts');
}
};
Comandos utiles
php artisan migrate // Ejecutar migraciones pendientes
php artisan migrate:rollback // Revertir la ultima tanda
php artisan migrate:fresh --seed // Recrear toda la BD y ejecutar seeders
php artisan migrate:status // Ver estado de las migraciones
Las migraciones son esenciales para mantener la consistencia de la base de datos entre entornos de desarrollo, staging y produccion. Cada migracion tiene un timestamp que garantiza el orden correcto de ejecucion.