Académique Documents
Professionnel Documents
Culture Documents
net
MENU
A medida que avanzamos en el desarrollo de una aplicación puede que las tablas
o los campos creados en la base de datos ya no se adapten o que simplemente
necesitamos hacer algunos cambios. Sin embargo, para ese momento no es
posible hacer rollback a las migraciones hechas, pues, por ejemplo, la aplicación
ya está en producción. Por consiguiente, para modificar la base de datos debemos
hacer uso de las migraciones, tal y como lo hicimos al crear las tablas, pero ahora
para cambiarlas. Hoy vamos a ver cuáles opciones tenemos disponibles para ello.
https://styde.net/modificando-migraciones-en-laravel/ 1/10
27/3/2019 Modificando migraciones en Laravel – Styde.net
5 $table->string('name_company')->nullable();
6 $table->string('contact')->nullable();
7 $table->string('phone')->nullable();
8 $table->text('comments')->nullable();
9 $table->timestamps();
10 });
11 }
12
13 /**
17 */
18 public function down()
19 {
20 Schema::drop('profiles');
21 }
Además, vamos a crear un model factory para agregar datos ficticios a nuestra
tabla profiles, en el archivo ModelFactories.php que se encuentra en el directorio
database/factories:
https://styde.net/modificando-migraciones-en-laravel/ 2/10
27/3/2019 Modificando migraciones en Laravel – Styde.net
4 ¡Regresó
'contact'=> el Plan Mensual! Únete por solo 12 USD
$faker->name,
5 'phone' => $faker->phoneNumber,
6 'comments' => $faker->paragraph
7 ];
8 });
Antes de hacer los cambios que queremos a una columna debemos agregar a
nuestro composer.json una dependencia en la sección require:
1 "doctrine/dbal": "2.5.1"
[Symfony\Component\Debug\Exception\FatalErrorException]
Class ‘Doctrine\DBAL\Driver\PDOMySql\Driver’ not found
Renombrar la tabla
1 Schema::rename(‘profiles’, 'nombre_nuevo');
Eliminar la tabla
1 Schema::drop(‘profiles’);
3 });
3 });
https://styde.net/modificando-migraciones-en-laravel/ 4/10
27/3/2019 Modificando migraciones en Laravel – Styde.net
Cambiar el ¡Regresó
tipo o ellos
Planatributos deporuna
Mensual! Únete solocolumna
12 USD
2 $table->string('comments', 100)->change();
3 });
2 $table->renameColumn('nombre_anterior', 'nombre_nuevo')
3 });
2 $table->dropColumn(‘phone’);
3 });
3 $table->foreign('user_id')->references('id')->on('users
4 });
1 $table->dropForeign('posts_user_id_foreign');
Ejemplo de uso
Para nuestro caso vamos a hacer algunos cambios en nuestra tabla profiles:
renombrar la columna contact a contact_person, agregar la columna website y
address y eliminar la columna comments, creando en un solo archivo de
migración:
https://styde.net/modificando-migraciones-en-laravel/ 5/10
27/3/2019 Modificando migraciones en Laravel – Styde.net
¡Regresó
1 php artisan el Plan Mensual!
make:migration Únete por solo 12 USD --table=pr
alter_profiles_table
Este comando crea un nuevo archivo que contiene los métodos up y down vacíos
para nosotros agregar los cambios a realizar. Nuestro método up quedaría así:
4 $table->renameColumn('contact', 'contact_perso
5 $table->string('address')->after('phone');
6 $table->string('website', 100)->after('address
7 $table->dropColumn('comments');
8 });
9 }
y el método down debería revertir las operaciones realizadas con el método up;
esto para cuando se haga migrate:rollback se puedan deshacer dichas
operaciones, por tanto nuestro método down queda de esta manera:
2 {
6 $table->dropColumn('website');
7 $table->string('comments')->nullable()->after(
8 });
9 }
https://styde.net/modificando-migraciones-en-laravel/ 6/10
27/3/2019 Modificando migraciones en Laravel – Styde.net
Esto es todo, espero que sea de mucha ayuda. No olviden dejar sus comentarios y
dudas; además de compartir en las redes sociales.
Material relacionado
Migraciones, seeders y model factories
Creando Migraciones en Laravel 5
Migraciones en Laravel
Aprende desarrollo web con Laravel, Vue.js y mucho más a partir de 12 USD al
mes: ver planes.
Migraciones
Lección anterior
Uso de caché en Laravel 5.1
Lección siguiente
Cómo crear Helpers personalizados en Laravel
https://styde.net/modificando-migraciones-en-laravel/ 7/10
27/3/2019 Modificando migraciones en Laravel – Styde.net
7 Comentarios Styde.net
1 Acceder
Únete a la conversación...
Nombre
TAMBIÉN EN STYDE.NET
https://styde.net/modificando-migraciones-en-laravel/ 9/10
27/3/2019 Modificando migraciones en Laravel – Styde.net
Suscríbete a nuestro
boletín
Te enviaremos publicaciones con
consejos útiles y múltiples recursos
para que sigas aprendiendo.
Tu correo electrónico
SUSCRÍBETE
En Styde nos dedicamos a enseñarte tecnologías actuales de desarrollo web para ayudarte
a crear tus proyectos de una forma más eficiente.
https://styde.net/modificando-migraciones-en-laravel/ 10/10