
Base de Datos
.env
El uso del archivo .env en Laravel para la configuración de la base de datos proporciona una forma conveniente de separar la configuración de la aplicación del código fuente, permitiendo realizar cambios en la configuración de la base de datos sin necesidad de modificar el código de la aplicación. Esto brinda flexibilidad y facilita la portabilidad de la aplicación en diferentes entornos de desarrollo y producción.
Migraciones
En Laravel, las migraciones son una herramienta poderosa que te permite manejar los cambios en la estructura de la base de datos de manera controlada y versionada. Las migraciones son archivos de PHP que contienen instrucciones para crear, modificar o eliminar tablas y columnas en la base de datos.
Con las migraciones, puedes definir la estructura de tu base de datos utilizando código en lugar de ejecutar consultas SQL directamente. Esto proporciona ventajas como la portabilidad entre diferentes sistemas de gestión de bases de datos y la capacidad de compartir y colaborar en el esquema de la base de datos con otros desarrolladores.
Además, las migraciones también te permiten deshacer y volver a aplicar los cambios en la base de datos, lo que facilita la gestión de versiones y la reversión de cambios en caso de ser necesario.
Para usar las migraciones en Laravel, debes definir tus esquemas de base de datos en archivos de migración y luego ejecutar comandos de migración para aplicarlos en la base de datos. Puedes crear nuevas migraciones con el comando php artisan make:migration
, y luego ejecutar las migraciones pendientes con el comando php artisan migrate
.
En resumen, las migraciones en Laravel te permiten manejar los cambios en la estructura de la base de datos de manera controlada, versionada y portátil, facilitando el desarrollo y mantenimiento de tu aplicación.
php artisan migrate
Crear migraciones
Para crear una migración en Laravel, puedes seguir estos pasos:
- Abre tu terminal o línea de comandos y navega hasta el directorio raíz de tu proyecto Laravel.
- Ejecuta el siguiente comando para crear una nueva migración:
php artisan make:migration nombre_de_la_migracion
Reemplaza «nombre_de_la_migracion» con un nombre descriptivo que refleje el propósito de la migración. Por ejemplo, si estás creando una tabla de usuarios, podrías usar algo como «create_users_table».
- Laravel generará un nuevo archivo de migración en el directorio
database/migrations
de tu proyecto. - Abre el archivo de migración recién creado en un editor de código y dentro del método
up()
, define las instrucciones para crear o modificar la estructura de la base de datos. Por ejemplo, puedes utilizar los métodoscreate
,table
oaddColumn
para definir tablas y columnas. Aquí hay un ejemplo básico de una migración que crea una tabla de usuarios:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateUsersTable extends Migration
{
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('users');
}
}
- Guarda el archivo de migración una vez hayas definido las instrucciones deseadas.
- Para ejecutar la migración y aplicar los cambios en la base de datos, utiliza el siguiente comando:
php artisan migrate
Esto ejecutará todas las migraciones pendientes en tu base de datos.
Con estos pasos, habrás creado y ejecutado una migración en Laravel. Recuerda que las migraciones te permiten realizar cambios estructurales en la base de datos de manera controlada y versionada, facilitando el desarrollo y la colaboración en equipo.
Rollback
Para deshacer o revertir una migración en Laravel, puedes utilizar el comando migrate:rollback
. Esto te permitirá revertir la última migración ejecutada.
Sigue estos pasos para realizar un rollback:
- Abre tu terminal o línea de comandos y navega hasta el directorio raíz de tu proyecto Laravel.
- Ejecuta el siguiente comando:
php artisan migrate:rollback
Esto revertirá la última migración ejecutada en tu base de datos. Las tablas y cambios realizados por esa migración serán eliminados.
- Si deseas revertir varias migraciones en lugar de solo la última, puedes utilizar la opción
--step
seguida del número de migraciones que deseas revertir. Por ejemplo, si deseas revertir las últimas tres migraciones, puedes ejecutar:
php artisan migrate:rollback --step=3
Esto revertirá las últimas tres migraciones ejecutadas en orden inverso.
Ten en cuenta que el rollback deshace los cambios estructurales en la base de datos, pero no afecta los datos almacenados. Si la migración que estás revirtiendo contenía instrucciones para eliminar tablas, esas tablas y sus datos asociados se eliminarán.
Recuerda que las migraciones y los rollbacks en Laravel te brindan un control granular sobre los cambios en la estructura de la base de datos, lo que facilita la gestión de versiones y la reversión de cambios cuando sea necesario.
Actualizar una tabla
Si deseas actualizar una tabla ya creada en Laravel, puedes utilizar las migraciones para realizar los cambios necesarios en la estructura de la tabla. Las migraciones te permiten agregar, modificar o eliminar columnas, así como realizar otros cambios en la estructura de la tabla de manera controlada y versionada.
A continuación, te mostraré cómo puedes actualizar una tabla existente mediante una migración:
- Abre tu terminal o línea de comandos y navega hasta el directorio raíz de tu proyecto Laravel.
- Ejecuta el siguiente comando para crear una nueva migración:
php artisan make:migration update_nombre_de_la_tabla
Reemplaza «update_nombre_de_la_tabla» con un nombre descriptivo que refleje el propósito de la actualización de la tabla. Por ejemplo, si deseas agregar una nueva columna a la tabla «users», podrías usar algo como «update_users_table».
- Laravel generará un nuevo archivo de migración en el directorio
database/migrations
de tu proyecto. - Abre el archivo de migración recién creado en un editor de código y dentro del método
up()
, define las instrucciones para actualizar la estructura de la tabla existente. Puedes utilizar los métodos proporcionados por la claseBlueprint
para realizar cambios, comoaddColumn
,change
,renameColumn
, etc. Aquí hay un ejemplo básico de una migración que agrega una nueva columna a la tabla «users»:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class UpdateUsersTable extends Migration
{
public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->string('new_column')->nullable();
});
}
public function down()
{
Schema::table('users', function (Blueprint $table) {
$table->dropColumn('new_column');
});
}
}
En este ejemplo, se agrega una nueva columna llamada «new_column» a la tabla «users».
- Guarda el archivo de migración una vez hayas definido las instrucciones para la actualización de la tabla.
- Para aplicar los cambios y actualizar la tabla en la base de datos, ejecuta el siguiente comando:
php artisan migrate
Esto ejecutará la migración y aplicará los cambios en la base de datos.
Con estos pasos, habrás creado y ejecutado una migración para actualizar una tabla existente en Laravel. Puedes definir tantas migraciones como sean necesarias para realizar las actualizaciones requeridas en tu base de datos. Recuerda que las migraciones te permiten gestionar los cambios en la estructura de la base de datos de manera controlada y versionada, lo cual es muy útil durante el desarrollo y el mantenimiento de tu aplicación.