CursosEmpresasBlogLiveConfPrecios

Migraciones en Artisan

Clase 9 de 25 • Curso de PHP con Laravel

Clase anteriorSiguiente clase

Contenido del curso

Introducción
  • 1
    Intro y caracteristicas de Laravel

    Intro y caracteristicas de Laravel

    03:09
Fundamentos
  • 2
    Instalación de Laravel

    Instalación de Laravel

    06:48
  • 3
    Primer ruta en laravel

    Primer ruta en laravel

    06:14
  • 4
    Cómo funciona Blade

    Cómo funciona Blade

    08:30
  • 5
    Controladores en Laravel

    Controladores en Laravel

    07:23
  • 6
    Request

    Request

    06:10
  • 7
    Configuración de laravel

    Configuración de laravel

    05:07
Bases de Datos
  • 8
    Cómo funcionan las Migraciones de DB

    Cómo funcionan las Migraciones de DB

    07:00
  • 9
    Migraciones en Artisan

    Migraciones en Artisan

    05:28
  • 10
    Modelos con Eloquent

    Modelos con Eloquent

    06:19
  • 11
    Trabajando con un Modelo

    Trabajando con un Modelo

    07:48
Operaciones CRUD
  • 12
    Controladores y recursos

    Controladores y recursos

    14:08
  • 13
    Blade layout

    Blade layout

    05:46
  • 14
    Form para agregar reportes

    Form para agregar reportes

    07:35
  • 15
    CSRF

    CSRF

    08:21
  • 16
    Fake PUT/PATCH

    Fake PUT/PATCH

    10:58
  • 17
    Borrando reportes

    Borrando reportes

    11:21
  • 18
    Validaciones

    Validaciones

    12:07
Relaciones en bases de datos
  • 19
    Creamos la vista de reportes

    Creamos la vista de reportes

    06:44
  • 20
    Relaciones con eloquent

    Relaciones con eloquent

    13:17
  • 21
    Trabajando con relaciones

    Trabajando con relaciones

    14:35
Emails
  • 22
    Acción para enviar un mail

    Acción para enviar un mail

    08:32
  • 23
    Enviando emails

    Enviando emails

    14:04
Autenticación
  • 24
    Login

    Login

    09:38
Cierre
  • 25
    Cierre

    Cierre

    01:09
    José Tuzinkievicz

    José Tuzinkievicz

    student•
    hace 7 años

    Para controlar la cantidad de migraciones que se revierten en un rollback se debe usar el parámetro step, por ejemplo para revertir 3 migraciones:
    php artisan migrate:rollback --step 3

      Iván Andrés Pineda Salazar

      Iván Andrés Pineda Salazar

      student•
      hace 3 años

      Gracias por tu comentario de hace 4 años, para complementar, se desharán las migraciones más recientes en primer lugar las mas antiguas se mantienen.

      Kevin Giovanni Cano Blanco

      Kevin Giovanni Cano Blanco

      student•
      hace 3 años

      Ologron, esa no me la sabía, gracias por el dato José del pasado

    Japheth Calzada López

    Japheth Calzada López

    student•
    hace 7 años

    😃 muy bien con esta clase promocionar el curso de Laravel, le debo mucho al curso anterior me ayudo a conseguir un trabajo en Laravel ( aunque no tenia experiencia) poder aprenderlo mas facilmente.
    Me ha gustado la actualización, muy bien el profe

      Daniel Muñoz Martín

      Daniel Muñoz Martín

      student•
      hace 7 años

      Enhorabuena por ese trabajo ! Eres el claro ejemplo de que el esfuerzo merece la pena sin duda 😉

    IRIDIAN GUADALUPE CARRERA MONDRAGÓN

    IRIDIAN GUADALUPE CARRERA MONDRAGÓN

    student•
    hace 6 años

    Yo no podía migrar las tablas ni hacer rollback, pero con esto Sí me funciono:

    en mi archivo de database.php que se encuentra dentro de la carpeta config reemplace la siguiente información en el apartado de mysql (ya que es la tabla que estoy utilizando):

    antes lo tenia así:

    'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci',

    Ahora lo tengo así y ya funciona :D :

    'charset' => 'utf8', 'collation' => 'utf8_unicode_ci',

    -pdt:No dejen espacios entre las comillas simples y la info.

      Luis Alberto Burgos Vilca

      Luis Alberto Burgos Vilca

      student•
      hace 4 años

      gracias por el dato, las diferencias entre: utf8mb4 y utf8, Dios los bendiga estimados

    Carlos Eduardo Gomez García

    Carlos Eduardo Gomez García

    teacher•
    hace 5 años

    Una mejor forma de hacer esto es con el siguiente comando:

    php artisan make:migration create_expense_reports_table

    A simple vista solo parece que cambia el órden en el nombre de la tabla, pero la realidad es que, Laravel maneja una convención en la cual Laravel es capaz de detectar el nombre de tu tabla siempre y cuando lo pongas entre las palabras "create_" y "_table" es decir, sería algo así:

    create_[cualquier_nombre]_table

    Con eso ya no es necesario agregar la bandera "--create" son solo mejores prácticas a tener en cuenta para hacer todo más sencillo:D

    Ricardo Antonio Medina Vallecilla

    Ricardo Antonio Medina Vallecilla

    student•
    hace 6 años

    solucion al error de migracion

    error en el proceso de hacer la migracion.png
    José Jesús Quilarque

    José Jesús Quilarque

    student•
    hace 6 años

    Nota:

    • Podemos hacer multiples cosas con el comando make migrations que podemos profundizar en las opciones que ofrece en la documentacion de laravel https://laravel.com/docs/5.8/migrations#tables
    Diego Quiroz

    Diego Quiroz

    student•
    hace 6 años

    En Laravel 7, uno de los métodos para solucionar el error del length en la migración sin cambiar el limite global es estableciendo un límite sólo a los strings que dan el error en dicha migración. Para lograrlo, en la función String le pasamos el límite de caracteres como 2do parámetro.

    $table->string('email', 45)->unique();
    Raul Andres Castro Devia

    Raul Andres Castro Devia

    student•
    hace 7 años

    Mis migraciones no funcionan me da el siguiente error

    Illuminate\Database\QueryException : SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table users add unique users_email_unique(email))

    crea las tablas pero cuando aplico el comando php artisan migrate:status me indica no de los 3 archivos :( :( :(

      Wilson Alvaro Leonardo Tahuico

      Wilson Alvaro Leonardo Tahuico

      student•
      hace 7 años

      Hola, puede arreglarlo de dos maneras, la primera es la siguiente:

      $table->string('email',170)->index();

      y la otra es cambiando el tipo de collation en

      config ->database.php y alli buscas esto:

      'charset' => 'utf8mb4',//cambia a utf8 'collation' => 'utf8mb4_unicode_ci', // cambiar autf8_unicode_ci

      Saludos

      Gerardo Antonio Gerónimo Vasconcelos

      Gerardo Antonio Gerónimo Vasconcelos

      student•
      hace 7 años

      Ese error está relacionado con el motor de base de datos que usas, por ejemplo con las últimas versiones de MySQL y MariaDB no me pasa; pero con PosgreSQL y MySQL 5.* sí me sucede. El error ocurre cuando creas un índice en un campo que admite demasiados caractéres. Por defecto, si se omite el tamaño en los campos de texto, se crean con el máximo que si no me equivoco es de 255 caractéres.

    Joel Sanchez

    Joel Sanchez

    student•
    hace 4 años

    Hola , tengo un problema. Ya busque por muchos lados como solucionarlo.

    SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO) (SQL: select * from information_schema.tables where table_schema = cursolaravel and table_name = migrations and table_type = 'BASE TABLE') No me puedo conectar a la base de datos.
      Luis Suárez

      Luis Suárez

      student•
      hace 4 años

      Hola no se mucho de Laravel estoy comenzando pero algo así me sucedió el otro día.

      Lo que sucede es que no esta leyendo bien la contraseña a tu base de datos por algún motivo.

      Debes limpiar el cache y en mi caso tuve que cambiar la contraseña de mi usuarios en la base de datos y posteriormente cambiarla también en .env

      Lo primero es el cache te dejos unos comando que pueden ayudarte php artisan route:cache php artisan route:clear php artisan config:cache php artisan config:clear php artisan optimize

      Lo que pasa no es algo típico para Laravel el inconveniente pasa siempre que no puedas acceder a sql Bueno mysql en este caso.

      Cambia la clave de tu usuarios en la base de datos y en .env ... migrate de nuevo y suerte ... me cuentas como te fue.

      Joel Sanchez

      Joel Sanchez

      student•
      hace 4 años

      Hola Unnicksimple, Una duda como ingresas a la base de dato para cambiarle la contraseña a los usuarios si no te deja ingresar, en mi caso a mysql workbench?

    Danniel Sequera

    Danniel Sequera

    student•
    hace 6 años

    ¿Estas migraciones contra que base de datos van? ¿Contra la de la máquina virtual?

      Diego Forero

      Diego Forero

      Team Platzi•
      hace 6 años

      Afectan al servidor de base de datos que este configurado en la conexión.

      Jhonathan Alfonso

      Jhonathan Alfonso

      student•
      hace 5 años

      Hola Danniel, estas migraciones van a la base de datos que se creo para el proyecto.

      Depende de que tabla consultes o modifies es lo que hacemos con el ORM Eloquent.

    Paul Cortes

    Paul Cortes

    student•
    hace 6 años

    Excelente guía de migraciones con artisan

    Jimmy Buriticá Londoño

    Jimmy Buriticá Londoño

    student•
    hace 6 años

    Muy interesante lo que se puede hacer con las Migraciones en ++Laravel++, les comparto las líneas de código:

    php artisan make:migration create_expense_reports_table --create=expense_reports
    php artisan migrate php artisan migrate:rollback php artisan migrate:fresh
    Enrique Garcia Stave

    Enrique Garcia Stave

    student•
    hace 6 años

    Apuntes: Al momento de crear una migración es importante colocarle al archivo a crear, un nombre descriptivo. Ejemplo:

    • php artisan make:migration create_table_expense_reports --create expense_reports Para una mayor documentación al momento de crear una tabla, podemos irnos a la documentación de laravel con respecto a tablas y columnas. Link: https://laravel.com/docs/5.8/migrations#tables
    Salvador Pallares

    Salvador Pallares

    student•
    hace 6 años

    Hola, No se ve este video !!! Estoy en movil, será x q es de YouTube?

      Juan Ricardo Cardona Álvarez

      Juan Ricardo Cardona Álvarez

      student•
      hace 6 años

      Sí, es de Youtube.

      Juan Castro

      Juan Castro

      teacher•
      hace 5 años

      Puedes verla directamente desde YouTube: https://youtu.be/NW71C3mHWIU.

    Andrés Giovanni Vanegas Castañeda

    Andrés Giovanni Vanegas Castañeda

    student•
    hace 5 años

    Para que se dejan las migraciones en batch 1? eso importa? no tengo claro que hace el batch.

      ALEXANDER ECHEVERRY TORRES

      ALEXANDER ECHEVERRY TORRES

      student•
      hace 5 años

      El batch es como la versión de la tabla en cada uno de los cambios que se le van haciendo

      Jhonathan Alfonso

      Jhonathan Alfonso

      student•
      hace 5 años

      Hola Andres, los batch son los lotes de migraciones, Laravel lo organiza así para saber en que lote se hicieron que conjunto de migraciones.

      Cuando haces el comando:

      php artisan migrate:roolback te devuelve al lote anterior de migraciones.

    Jaime Fernando Condori Loza

    Jaime Fernando Condori Loza

    student•
    hace 6 años

    Tengo la siguiente duda: Una ves que creo y ejecuto la Migracion con los campos requeridos para una determinada tabla, por ejemplo usuarios, y ya se agregan registros a esa tabla, como puedo hacer si luego es necesario incluir un campo en la tabla usuarios, pero sin perder los registros ya almacenados, que se debe hacer en estos casos??? gracias.

      Manuel Ojeda

      Manuel Ojeda

      student•
      hace 6 años

      Creas otra migración usando php artisan make:migration alter-users-table

      Y dentro de la migración creada agregas el siguiente código:

      Schema::table('users', function (Blueprint $table) { // Aquí agregas el tipo de dato nuevo });

      Y ya que tengas la migración lista corres php:artisan migrate y el campo se añadirá sin problemas.

    Mariley Erika Condori Calla

    Mariley Erika Condori Calla

    student•
    hace 6 años

    No puede ver este video, me aparece una imagen diciendo "Se ha restablecido la conexion" :(

      JuanFe Peralta

      JuanFe Peralta

      Team Platzi•
      hace 6 años

      Esta clase es una clase pública, así que también puedes verla desde YouTube, aquí te dejo el enlace: https://www.youtube.com/watch?v=NW71C3mHWIU&feature=emb_title. :)

    Alexandre CR

    Alexandre CR

    student•
    hace 5 años

    ¿si ejecuto migrate:fresh y tengo datos en las tablas, estos se borran permanentemente?

      Luis David Moncada Tarazona

      Luis David Moncada Tarazona

      student•
      hace 5 años

      Si, el migrate:fresh borra todas las tablas y luego las vuelve a crear.

      Cristian Henao

      Cristian Henao

      student•
      hace 5 años

      Si, para recuperar la información debes hacer previamente un backup de la base de datos directamente.

    Juan Ortega

    Juan Ortega

    student•
    hace 4 años

    Este vídeo no carga :-(

      Joalin Pineda

      Joalin Pineda

      student•
      hace 4 años

      Hola! Acabo de abrir la clase y si me carga. Puedes revisar que tu conexión a internet esté correcta e intenta recargar la página. También puedes verlo directamente en YouTube acá.

    Carlos Valdivia L.

    Carlos Valdivia L.

    student•
    hace 6 años

    En laravel 6, tengo el archivo config/database.php y el archivo .env, en cual de los dos configuro la BD de la aplicación?...para que sirve cada uno?

      Elías Camilo Martínez Salcedo

      Elías Camilo Martínez Salcedo

      student•
      hace 6 años

      Tu archivo .env define todas las variables de entorno de tu aplicación, mientras que tu archivo database.php es un archivo de configuración donde puedes definir por ejemplo una o mas conexiones para tu aplicación, cual de ellas deberia usar por defecto etc.

      Si tu aplicación no es muy compleja puedes configurar el driver, host, user y password de tu BD en las variables de entorno ".env"

      DB_CONNECTION={DRIVER} DB_HOST={HOST} DB_PORT={PORT} DB_DATABASE={DATABASE} DB_USERNAME={USER} DB_PASSWORD={PASSWORD}

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads