Por su puesto, lo ideal es diseñar las bases de datos basado en todos los requerimientos. Pero en algunas ocasiones los requerimientos llegan después.
Para agregar columnas a una tabla ya creada, procederemos a crear una migración o varias migraciones.
Advertencia
Cada migración al ser ejecutada ya no se puede modificar. Podemos agregar mas columnas al archivo «migrate», pero no podemos ejecutarlo con artisan. Y por supuesto, en producción no podemos simplemente ejecutar:
php artisan migrate:fresh
Este comando resetea toda la base de datos y crea las tablas vacias.
Crear migración de actualización
php artisan make:migration add_column_to_name_table --table=name
En este comando, prestemos atención a lo que debemos colocar. En add_column_to_name_table, column: será el nombre de la columna o migración y name: será el nombre de la tabla.
Si por ejemplo, la nueva columna se llamará «telefono» en la tabla «clientes», el comando sería como este:
php artisan make:migration add_telefono_to_clientes_table --table=clientes
Una vez creado esta migración, veremos los métodos up() y down(). up() será para agregar la migración y down() cuando se ejecute un rollback.
public function up()
{
Schema::table('clientes', function (Blueprint $table) {
$table->string("telefono");
});
}
Una vez terminado, vamos a ejecutar la migración «php artisan migrate», lo cual agregará la columna a la tabla.
Finalmente solo necesitas implementar el método down() por si quieres hacer un rollback.
$table->dropColumn(‘nombre_columna’);
public function down()
{
Schema::table('clientes', function (Blueprint $table) {
$table->dropColumn(‘telefono’);
});
}
Deja una respuesta