10 - Como modificar tablas con las migraciones de Laravel - Curso Laravel 10 desde cero
Вставка
- Опубліковано 8 лют 2025
- Las migraciones te permiten modificar la estructura de la base de datos de manera programática y controlada, lo que mejora la calidad y la mantenibilidad de la base de datos. En este capítulo, te enseñaremos cómo agregar y eliminar columnas, cómo modificar el tipo de datos y las restricciones de las columnas existentes, y cómo renombrar y eliminar tablas utilizando migraciones de Laravel. Además, conocerás cómo utilizar las migraciones para agregar y eliminar índices y claves foráneas, y cómo trabajar con las migraciones para realizar cambios en cascada en la base de datos. Con estos conocimientos, podrás modificar de manera efectiva la estructura de la base de datos de tus aplicaciones Laravel de manera controlada y segura.
------------------------------------------------------------------------------------------------
CURSOS
🔴 Facturacion electronica Perú: youtube.coders...
🟠 Laravel avanzado: youtube.coders...
🟢 Ecommerce: youtube.coders...
🔵 Api: youtube.coders...
🟠 Plataforma de cursos: youtube.coders...
🔴 Vue e Ineria: youtube.coders...
🟣 Eloquent Avanzado: youtube.coders...
🟡 Pasarela de pagos: youtube.coders...
⚫ Laravel Web Socket: youtube.coders...
🟣 Notificaciones: youtube.coders...
🟢 Laravel Excel: youtube.coders...
🔵 Digital Ocean: youtube.coders...
🟡 Laravel Voyager: youtube.coders...
🟣 Datatable Livewire: youtube.coders...
🟠 Tenancy for Laravel: youtube.coders...
🔵 TDD Laravel: youtube.coders...
⚫ Traducir páginas: youtube.coders...
🟠 Wire UI: youtube.coders...
🔴 Acortador de links: youtube.coders...
🟡 Banhammer for laravel: youtube.coders...
🟢 Laravel backup: youtube.coders...
🔵 Actualizar a Laravel 10: youtube.coders...
-----------------------------------------------------------------------
DONACIONES
Patreon: / codersfree
PayPal: www.paypal.com...
-----------------------------------------------------------------------
En este curso nos introduciremos al manejo de base de datos con Laravel.
Grupo de facebook: / 4314830498588670
Plataforma: codersfree.com/
Se nota mucho la calidad del video y del sonido, también la forma de explicar poquito a poquito y clarito... Es brutal. Gran profe!
Se nota muchisimo la calidad del video y se agradece. Tus videos son buenisimos, explicas que haces que parezca facil y uno quiera mas y mas. Gracias
Notable la mejora de la calidad de video, muchas gracias Flores...
Si gracias, mejoro y del curso, uno de los mejores que he visto, te felicito por compartir tus conocimientos y darte el tiempo, un abrazo y nuevamente GRACIAS.
El mejor curso de Laravel en UA-cam!
Eres bueno en esto de enseñar, fíjate que por ahí puede que hayan muchos programadores de alto rango pero muchos de ellos no tienen el don de la enseñanza que tu tienes, gracias
Que calidad de videos, Dios!!.
Eres un crack enseñando, muchas gracias por tus aportes muy contento con este canal
Uno de los mejores tutoriales de Laravel, a pesar del spanglish.
Por suerte/desgracia, la programación casi siempre es en inglés. Para mi gusto, está muy bien explicado todo.
Excelente, no solo la calidad del video si no también el contenido y la claridad como lo explica.
Excelente calidad, he tomado capturas para una guía personal de este curso y el cambio ha sido mas que notable.
se nota mucho la mejoría en la resolución de la imagen , se agradece el cambio
Se nota muchisimo la mejora de la calidad de video. ¡
Muchas gracias por el curso!
Excelente calidad y excelentes videos!!
Recien me llego un proyecto de una plataforma en laravel con react. Y yo no sabia usar laravel, soy symfony developer. Asi que busque en la documentacion y busque videos pero aún no entendia el tema de las migraciones y algunos otros conceptos, pero encontre tus tutoriales y la verdad me han servido bastante, explicas excelente!! Muchas gracias mentor!
Me gusta tú contenido por lo que es probable que me veas tomando muchos de tus cursos! Jeje
Como te ha ido luis, te cuento que yo llevo años intentando aprender hacer buenas webs y estas guias tambien me estan ayudando a tender cosas que me eran dificiles.
Empece hace poco a echarle un vistazo a este curso y la verdad es que es fantástico!!!...explicas todo de una manera que se entiende a la perfección...ahora ya no hay excusas para no entender las migraciones!!..jajaja...gracias!!!!
Muchas gracias viejo! Yo programo con CodeIgniter así que estoy familiarizado con frameworks de PHP, y con este curso estoy intentando mudarme a este framework y tu explicación es clara y de muy buena calidad, muy agradecido.
Muy bien explicado y ejecutado con el ejemplo. Excelente !!!
Muy buena calidad! Estoy aprendiendo cosas que antes las hacía por hacer y no sabía porque, jajaja. Gracias!
también me sucede xD
x3
X4
en el minuto uno se usó el comando php artisan migrat:refresh y voalá!!! aunque faltaba la letra e en migrate el framework reconoció lo que se necesitaba y funcionó
😀 amo este framework
buen contenido felicitaciones, agradecido por la información, no dejas nada a la duda
Se agradece la mejora en la calidad de imagen en los videos.
El curso me parece estupendo, ánimo y gracias por tus videos.
Me encanta el claxon del carro al final...
Muy buen video, gracias!
Excelente trabajo, maestro. Quedando super atento a la siguiente clase, éxitos crack.
Es evidente la mejora de la resolución, muchas gracias
Mejor que la mayoria de cursos pagos...felicidades.
Excelente la calidad brother, espero terminar pronto el curso
Buena Calidad de imagen y bien explicado...Felicidades
1080 perfecto. Gracias por estos videos
Muy buena la calidad del video profe, Excelente cursito se mandó ... Gracias por ello.
Hola Víctor como estas campeón, con respecto a la calidad del video es excelente. solo al principio un par de minutos se ve difuso pero luego esta fantástico. Estoy asombrado con la claridad de tus conceptos y la forma de explicar, te felicito, y estoy atento esperando nuevos. Muchas gracias por compartir.
Si es noble la mejora de calidad, gracias por compartir tus conocimientos
Muy buen curso! Gracias por todo el contenido y la claridad
Se nota bastante la diferencia y mas yo que soy medio ciego! gracias bro!
Si mejoró la calidad...excelente mi pana!
muchas gracias por subir la calidad de los videos
Deberia estar tu pagina en cada video por si queremos realizar una consulta desde la posición de el tema. gracias todo los demas excelente.!
Excelente video, como siempre, está genial la calidad, Muchas Gracias
Todo un tema las migraciones, pero lo comprendí muy bien, excelente explicación.
Se ve bastante bien con la calidad actual
excelente, eres un maestro explicando, muy detallado, gracias!
Esta muy bien la calidad ...gracias pormejorarlo, ayuda mucho al momento de visualizarlo. gracias!
Practico! Genio! Gracias por compartir tu conocimiento.!!
Se nota la diferencia de la calidad. Gracias.
Excelente video muchas gracias por el aporte. En lo personal esta forma de trabajar con la base de datos me parece más complicada, sin embargo hay escenarios donde si es factible. Saludos
Excelente el vídeo, la explicación es excelente, gracias por estos vídeos.
Buenazo me agrada si se ven bien los videos
Muy bueno, muchísimas gracias!
Muy bueno!!! Excelente calidad!!
esta de lujo el curso
Mano eres un crack enserio que curso tan excelente muchas gracias por lo que haces
Gracias Jeyson 😊
brother, eres un crack de verdad gracias
te digo he estado en platzi udemy y muchos videos tutoriales en youtube y tu lo explicas de una manera. Me hubiera ahorra muchisimo tiempo si te hubiese encontrado antes
Se nota la calidad, sigue así bro
Muchas gracias
Es muy bueno lo que haces
Enormemente agradecido amigo
tenia problemas para poder actualizar x campo de mi bd ,Sos un dios
Excelente, muchas gracias.
Mejor definición, gracias
Hola Victor, muy buena la calidad del vídeo 👌. No sé si llegaste a hacer otro siguiente vídeo de las migraciones explicando las claves foráneas; no lo he visto en la lista. Tengo una BB.DD con tablas cuyas PK no son del tipo id, y a parte son a la vez FK, o incluso son PK compuestas que a la vez con FK de otras tablas. Tengo un par de dudas:
Al escribir las migraciones tengo varios casos que no funcionan, es decir no me relaciona bien las tablas. El 1º es que tengo un atributo que es a la vez pk y fk. Este es un DNI. Así lo tengo escrito:
$table->string('persona_DNI',9)->primary();
$table->foreign('persona_DNI')->references('DNI')->on('personas');
Haciendo esto, pone el atributo como fk, pero no como pk.
El 2º es que tengo dos atributos que son pk y a la vez ambos fk de distintas tablas. También son DNI, así lo tengo escrito:
$table->string('empleado_persona_DNI',9);
$table->string('cliente_persona_DNI',9);
$table->foreign('empleado_persona_DNI')->references('persona_DNI')->on('empleados');
$table->foreign('cliente_persona_DNI')->references('persona_DNI')->on('clientes');
$table->primary(['cliente_persona_DNI','empleado_persona_DNI']);
En este caso, pone ambos atributos como pk, pero solo el primero del array lo pone como fk, en lugar de poner los dos.
Espero me puedas resolver las dudas; gracias. Un saludo!
Hola, si se ve la diferencia, gracias
Muchas gracias !
claro se nota mejor los videos en 1080p en 720 si habia partes que me tocaba mirar mas a detalle ahora si perfectos en definicion
Gracias, excelente...
Excelente trabajo
excelente tus videos, los estoy siguien por la pagina de codersfree
Cuando empecé este curso, la calidad de los videos fue lo unico que no me gustó. Me alegra que la hayas mejorado.. Thumbs up!
Sos un grande
Si mejoró bastante, entre más calidad mucho mejor, porque me toca siempre ver en pantalla completa.
Tu fan numero #1
Se ven bien!
el comando refresh es particularmente util cuando por alguna razon mantienes tablas que no estan asociadas a las migraciones de tu proyecto
Gracias !
buen video!
Hola Coders Free, tus videos me están siendo de gran utilidad muchísimas gracias.. Me gustaría saber si el comando: "composer require doctrine/dbal" se debe hacer en cada proyecto que realice, o con una sola vez que lo ejecute me va a servir en todos los proyectos que cree con laravel en mi entorno local.
Se debe hacer para cada proyecto
Sí que se nota la diferencia en la calidad de los vídeos: se fuerza menos la vista. Gracias
Gracias por tus videos, me encanta la forma en que explicas amigo, solo tengo una consulta:
el comando: composer require doctrine/dbal
se ejecutara una única vez y queda configurado así, o es necesario hacerlo para cada proyecto que se cree?
Disculpen la ignorancia jejejeje nuevamente gracias!
Una única vez. Recuerda que composer es el instalador de paquetes de php. Siempre que instalemos un paquete lo haremos vía composer, y solo se necesita instalar una única vez el paquete.
Hola, primero q nada GRACIAS! voy comenzando cn esto y esta super excelente. Ahora tengo el siguiente problema, estoy usando el nuevo metodo " sail artisan migrate ", y funciona perfecto para crear las tablas, pero, no me deja agregar nuevas columnas aun que ya tengo el dbal instalado. Para poder agregar tengo que hacer un " sail artisan migrate:fresh " pero esto me borra toda la informacion, he buscado en todas partes pero no logro dar con la solucion!
buena mejora
una duda, primero creas un migración para cambiar el tamaño de los campos y después aplicas la propiedad nullable. No saldría el mensaje "Nothing to migrate" ???
Buen video. Una consulta, modifiqué manualmente un campo de una tala en la bd, cambie todo el codigo, pero aun laravel recuerda el nombre de campo antiguo. Que podría estar pasando?
gracias por el video muy bueno, quiero preguntar: cree una migracion y una columna la coloque UNIQUE() y la cree, he intentado de muchas maneras realizar el ->CHANGE para quitarle el unique() a esa columna pero no lo he logrado podrias ayudarme con eso por favor. Me toco volver a hacer la migracion desde el principio
ahora se puede ver en 1080p antes solo a 720p, esta mucho mejor, gracias, ya no tengo que acercarme a la pantalla XD
en postgresql no se puede utilizar el metodo before('column'), entonces sería mejor utilizar mysql como base para mi proyecto
?
muy buenos
se mejoro bastante la calidad
Gracias por el contenido y por tu dedicacion empleados. Por cierto, una pregunta. Sabeis como ordenar columnas en BD pgsql?, ya que after solo funciona en MySQL. Lo agradeceria un monton :)
8:50 En laravel 10 no es necesario el paso de instalar composer, el resto se mantiene por si a alguien le sirve.
Si mi tabla esta rellenada y solo corrijo un dato también debo realizar la migración? y como seria en ese caso?
Pues la resolución se sigue viendo igual, supongo a que te refieres al HD, y si esta genial ya que lo veo desde un celular
hola, tengo una pregunta, sobre si se pueden modifican múltiples atributos en el solo archivo cambiar_propiedades?
es que no me esta realizando migraciones luego que le hice ciertos cambios a un atributo, y quise en el mismo archivo volver hacer modificaciones a la misma tabla pero diferente atributo ya no me modifica el dicho atributo
Consulto recien aun año de este video cuando creo alguna tabla o algo con el comando: php artisan make:migration cambiar_propiedades_to_users_table, en el archivo creado, en la parte superior, donde en tu video dice: class CambiarPropiedadesToUsersTable extends Migration me aparece a mi return new class extends Migration. Lo modifico y funciona correctamente. Pero seguro cambia algo desde el 2021 al 2022 que crea asi el archivo. Me traera problemas mas adelante eso?
Se notó una banda el cambio de 720p a 1080p, más para ver código! Muchas gracias por tus enseñanzas, la verdad está muy bueno el ejemplo y la explicación. Presiento que con estas videos me voy a convertir en un master jedi más grosso que Luke
amazing!
la desventaja de fesh es que si ya habías creado una tabla por fuera de laravel el fresh también elimina esa tabla porque aplica drop a toda las tablas que existan, el refresh no te eliminaría esa tabla que creaste por fuera, tomenlo en cuenta porque durante el seguimiento de este curso me pasó y adiós a mis tablas creadas previamente jajajaja
Buenas. Si tienen problemas con doctrine/dbal, revisen cual es la versión que funciona en su proyecto. en mi caso fue require doctrine/dbal:v3.5
12:38 eso fue un si
Alguien sabe el comando para eliminar una columna? Le indicamos en el método down "dropcolumn" o "dropifexists", pero como lo hacemos desde la consola? Gracias !!
Cambiar de un tipo de dato enum a string no se puede?
crack
Una consulta, que pasaría si en lugar de usar hacer "php artisan make:migration add_column1_to_users_table", solo agrego la columna en el mismo phpmyadmin y en la función up hago lo mismo (agregar la columna), asi me ahorro crear varios archivos de migraciones. y los mismo haria para cambiar las propiedades.
no se si me deje entender.
Las migraciones son un control de versiones. Si creas las tablas desde phpmyadmin tu proyecto va funcionar igual, la dificultad que podrías tener más adelante es que si le pasas tu proyecto a un compañero tendrías que decirle a tu compañero que cree esas tablas manualmente, y cuando tu proyecto pase a producción también tendrías que crear esas tablas manualmente en producción.
Si lo haces con migraciones en cambio, tu compañero sólo tendría que ejecutar las migraciones y ya tendría la estructura de la bbdd creada. Lo mismo cuando subas tu proyecto a un servidor, simplemente lo ejecutas y ya tienes la estructura creada
@@CodersFree genial, gracias por el aporte.
@@CodersFree Osea puedo trabajar siempre creando tablas y columnas desde phpmyadmin pero un dia mi proyecto lo quiero trabajar en grupo. Y en ese caso puedo crear una migracion? Para que el proyecto tenga en la carpeta migrations un arhivo 2022_09... y a ellos les salga la tabla y columna cargada automaticamente en su pc?
claro de 720 a 1080, se ve mucho la diferenci, mas en el codigo pequeño
Hola. Gran curso.. rollback solamente revierte el último lote. No puedo por ejemplo. Tengo cinco lotes creados y quiero eliminar el 2. Debo eliminar el 5,4,3 antes o hay alguna forma de saltarse lotes.
Gracias
En la documentación esta como hacer eso.
Una anécdota que me ha llamado la atención en el vídeo, escribes "php artisan migrat:refresh" en vez de migrate. Eso es así? o laravel es muy listo y sabe identificar erratas?
Hola, no, si escribes mal te avisa que has escrito mal, si en el video se ve que me acepto un comando mal escrito debe ser por que a la hora de editar no me di cuenta y lo corte sin querer, y eso hace que pareciera que me lo ha aceptado 😅
No se en que video un usuario también me exigía que le explique como hice para cambiar el texto con solo hacer un click, y estaba muy molesto 😅 son cosas que pasan a la hora de editar. La mayoría de los videos no lo grabo de corrido, grabo un poco en la mañana, otro poco en la tarde y otro en la noche.