Las migraciones con Eloquent en PHP son una herramienta poderosa para gestionar el esquema de tu base de datos de manera programática. Estas migraciones te permiten definir y modificar la estructura de tus tablas de base de datos utilizando código en lugar de manipular directamente la base de datos. Esto hace que tu aplicación sea más portátil y facilita el trabajo en equipo.
En este artículo, exploraremos cómo trabajar con migraciones en Eloquent con ejemplos prácticos.
Configuración Inicial
Antes de empezar con las migraciones, asegúrate de que Laravel y Eloquent estén correctamente instalados en tu proyecto. Luego, puedes crear una nueva migración usando el comando make:migration
.
php artisan make:migration crear_tabla_ejemplo
Esto creará un nuevo archivo de migración en el directorio database/migrations
.
Definición de una Migración
Dentro del archivo de migración, puedes definir cómo se debe crear o modificar una tabla. A continuación, se muestra un ejemplo simple de una migración para crear una tabla «ejemplo»:
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CrearTablaEjemplo extends Migration
{
public function up()
{
Schema::create('ejemplo', function (Blueprint $table) {
$table->id();
$table->string('nombre');
$table->text('descripcion')->nullable();
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('ejemplo');
}
}
En este ejemplo, hemos creado una tabla llamada «ejemplo» con columnas para el «nombre» y la «descripción». También hemos incluido automáticamente columnas para la marca de tiempo «created_at» y «updated_at».
Ejecutar Migraciones
Para aplicar las migraciones y crear la tabla en la base de datos, ejecuta el siguiente comando:
php artisan migrate
Si necesitas deshacer una migración, puedes utilizar el comando:
php artisan migrate:rollback
Modificar una Migración
En algún momento, es posible que debas modificar una migración existente. Por ejemplo, puedes agregar una nueva columna a una tabla. Para hacerlo, primero crea una nueva migración:
php artisan make:migration agregar_columna_a_ejemplo
Luego, dentro de la migración, usa el método table
para modificar la tabla existente. Aquí hay un ejemplo:
public function up()
{
Schema::table('ejemplo', function (Blueprint $table) {
$table->integer('nueva_columna');
});
}
Después de definir la nueva migración, ejecuta nuevamente php artisan migrate
para aplicar los cambios a la base de datos.
Conclusion
Las migraciones con Eloquent en PHP son esenciales para mantener un control preciso de la estructura de tu base de datos. Facilitan la colaboración en equipo, la portabilidad de la aplicación y la gestión de cambios en el esquema de la base de datos de manera organizada. Con las migraciones, puedes definir, modificar y mantener tu base de datos de manera eficiente y efectiva.