08 - Introducción a las migraciones - Curso Laravel 10 desde cero

Поделиться
HTML-код
  • Опубликовано: 8 сен 2024
  • Las migraciones te permiten crear, modificar y eliminar tablas y campos 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, aprenderás cómo crear y ejecutar migraciones en Laravel, cómo revertir migraciones y cómo trabajar con el sistema de migraciones para administrar cambios en la estructura de la base de datos. Además, conocerás cómo utilizar las migraciones para crear tablas con restricciones de integridad referencial, índices y claves únicas. Con estos conocimientos, podrás manejar de manera efectiva la estructura de la base de datos en tus aplicaciones Laravel.
    ------------------------------------------------------------------------------------------------
    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/

Комментарии • 83

  • @ricardotovar6667
    @ricardotovar6667 3 года назад +16

    No he visto un solo tutorial en youtube donde expliquen la parte de 'env' y configuración de la database. Ninguno, ni se le acercan a tus explicaciones. Me dejas impresionado, eres apenas un chamo y explicas como si ya tuvieras 55 años en el mundo de la enseñanza.

    • @CodersFree
      @CodersFree  3 года назад +3

      Pues, aunque aparento de menos edad, en realidad me voy para los 30 😅

  • @henryegomezl9821
    @henryegomezl9821 3 года назад +28

    si al ejecutar el condigo "php arisan migrate" les sale el siguiente error: SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too
    long; max key length is 1000 bytes (SQL: alter table `users` add unique `users_email_unique`(`email`))
    Al parecer este error surge si estas ejecutando una versión de Mysql anterior a 5.7.7 o MariaDB anterior a la versión 10.2.2.
    SOLUCION 1: Cambiar a las versiones antes mencionadas o posteriores.
    SOLUCION 2 (fue la que aplique y me funciono perfectamente): Tienen que configurar manualmente la longitud de cadena predeterminada, para ello todo lo que tiene que hacer es dirigirse al archivo llamado "AppServiceProvider.php" y dentro del metodo "boot" establecer una longitud de cadena con el siguiente comando: Schema::defaultStringLength(191); No se olviden de incluir en la parte superior del archivo el "use Illuminate\Support\Facades\Schema;" para que pueda reconocer el metodo Schema.
    Toda esta información esta mejor detallada en la documentación oficial de laravel en el apartado "# Longitudes de índice y MySQL / MariaDB". ahí se explica mucho mejor y con imágenes lo cual se agradece xdd. Espero haberles ayudado, Saludos!!

    • @jersonferrer8252
      @jersonferrer8252 3 года назад

      Super, tu aporte me sirvió muchísimo!!

    • @evansmusicgospel
      @evansmusicgospel 3 года назад

      y donde encontramos la ruta que indicas, por ejm. yo estoy trabajando con Wamp y Visual Studio, donde encuentro la ruta? porque el error es el mismo

    • @christianghione5842
      @christianghione5842 3 года назад

      Excelente!! Solucionado!! Luego he visto varios comentarios que les sigue dando un error tipo "table users already exists" . Una solucion facil es ingresar desde el localhost/phpMyAdmin y eliminar las tablas de users y migrations. Y luego correr el php artisan migrate.

    • @MIGUELANGEL-ji1pp
      @MIGUELANGEL-ji1pp 3 года назад +3

      @@evansmusicgospel La ruta la debes buscar en las carpetas de Laravel, para ser mas especifico en app > providers. Se que ya pasaron 3 meses pero igual por si alguien tiene tu misma duda aquí esta la respuesta.

    • @MIGUELANGEL-ji1pp
      @MIGUELANGEL-ji1pp 3 года назад

      @Henry E Gómez L sos un capo

  • @jhonbarcasnegras
    @jhonbarcasnegras 3 года назад +4

    Hola, soy desarrollador web con bastante experiencia en PHP pero no le había dado oportunidad a Laravel aun (EN mi empresa usan un framework propio y CI).
    Hace muchos años le di un vistazo superficial a Laravel y me pareció engorroso, pero tú te explicas maravillosamente y estoy siguiendo atentamente tu curso y aprendiendo cosas nuevas.
    Te felicito por tu canal y me suscribo.

  • @tk4wn
    @tk4wn 3 месяца назад

    gracias por la oportnidad de brindarnos esos cursos, a la gente como yo que no tenemos el chance de pagar por los estudios online, muchas gracias de verdad, tu dedicacion y explicacion de los temas es mjuy claro, gracias DTB

  • @VictorSosa
    @VictorSosa 3 года назад +5

    estoy super entusiasmado con el curso... de verdad laravel pone muchas ventajas sobre otros frameworks y la forma de explicarlas y el uso de buenas practicas es muy bueno... Muchas gracias.

  • @universalcode4332
    @universalcode4332 4 года назад +6

    Tus cursos son los mejores, ya le compartí a mis amigos

  • @gabrieladiazrodriguez4122
    @gabrieladiazrodriguez4122 Год назад +1

    Maravillosa explicación. Aclaras el porqué y para qué de todo

  • @jorgeandrescardenasc.1182
    @jorgeandrescardenasc.1182 3 года назад +2

    Me gusta mucho el curso, realmente está MUY bien explicado, felicitaciones, buen material

  • @dip4080
    @dip4080 3 года назад +1

    WOOO...W EXCELENTE TRABAJO, MUCHAS GRACIAS POR TODO LO QUE REALIZASTE PARA HACER ESTOS VIDEOS ESTAN SUPER, GOOD JOB.!!!

  • @maytechnologies9504
    @maytechnologies9504 4 года назад +2

    Excelente.. Claro y Conciso, sin necesidad de tanta teoría..

    • @maytechnologies9504
      @maytechnologies9504 3 года назад

      Buenas Noches flores, nos Tenes olvidados mi estimado...

  • @hugoemanuelifran1384
    @hugoemanuelifran1384 Год назад

    muy pocos explican bien esto por mas de que se piense que es deducible si tenes bases, creo que no es tan asi y siempre sirve una buena explicación.. genail!!

  • @jorgemaikelperezguedes1982
    @jorgemaikelperezguedes1982 5 месяцев назад

    Felicidades muy bueno el curso pienso verlo completo

  • @makvargas1514
    @makvargas1514 Год назад

    tuve un pequeño error al principio de crear la migración, pero olvide cambiar en .env el puerto nuevo que coloque en mysql, para que no tenga conflicto. SUPER INTERESANTE !!!!

  • @bibianacorredor4643
    @bibianacorredor4643 2 года назад

    muchas gracias por el tiempo que toma para explicarnos tan bien, a penas inicie el curso y me ha encantado la forma que lo hace ver tan simple. una seguidora mas

  • @MammutDelValle
    @MammutDelValle 3 года назад +1

    Gracias a Henry Gomez, solucioné el problema: (ver más abajo)
    SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too
    long; max key length is 1000 bytes (SQL: alter table `users` add unique `users_email_unique`(`email`))
    Muchas gracias!!!

  • @itsjefryservices
    @itsjefryservices 10 месяцев назад

    Muy bueno hasta ahora, gracias!

  • @juegadannygamer9651
    @juegadannygamer9651 3 года назад

    explica mejor que mi profeee me suscribo buen hombre

  • @jmaurich
    @jmaurich 4 года назад +1

    Muy bueno y muy didáctico profe, estoy comiendo tus videos. jajajaja. Muchas gracias.

    • @CodersFree
      @CodersFree  4 года назад +3

      Estoy pensando hacer a la par un curso de Tailwind CSS, que laravel 8 deja de lado Boostrap, y crea su interfaz con tailwind

  • @beatlife3990
    @beatlife3990 3 года назад +1

    Muy buen tuto ya voy por el siguiente video

  • @dairopedrozoperez2130
    @dairopedrozoperez2130 3 года назад

    excelente amigo muy bien explicado saludos desde Colombia

  • @peruwebsite6268
    @peruwebsite6268 3 года назад +1

    Es grandioso que expliques a detalle cada punto. Así es muy fácil aprender

  • @asandoval69
    @asandoval69 Год назад

    con muchas ganas de continuar.

  • @contrerasabnalfelipeignaci6490
    @contrerasabnalfelipeignaci6490 7 месяцев назад

    Buen video!

  • @jorgeluiscondorichavez9163
    @jorgeluiscondorichavez9163 3 года назад

    Muchas gracias por este curso mi estimado amigo

  • @davidal4asas
    @davidal4asas 7 месяцев назад

    ¡Gracias!🥰

  • @emdevapps
    @emdevapps Год назад

    gran video

  • @martinnunez3003
    @martinnunez3003 3 года назад +3

    Hola tengo problema para conectarme con mysql me sale el siguiente error
    SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from information_schema.tables where table_schema = blog and table_name = migrations and table_type = 'BASE TABLE')
    parece que varios tiene ese problema pero al momento no pude resolver.

  • @jaironaranjo3654
    @jaironaranjo3654 2 года назад

    Great Presentation!

  • @aimryu5219
    @aimryu5219 3 года назад +3

    Para los que usen MAMP quizás hayan tenido este mensaje de error: SQLSTATE[HY000] [2002] No such file or directory.
    Para corregir esto hay que ir a la ventana de MAMP y pulsar WebStart. Una vez allí vamos a la sección de MySQL y una vez allí copiamos el contenido del campo SOCKET, que suele ser este /Applications/MAMP/tmp/mysql/mysql.sock
    Hecho esto, nos vamos nuestro editor a config/database.php y en los parámetros de conexión con 'mysql' buscamos el campo 'unix_socket' e incluimos la ruta que copiamos anteriormente. Debería quedar así: 'unix_socket' => env('DB_SOCKET', '/Applications/MAMP/tmp/mysql/mysql.sock'), guarda los cambios.
    Ahora ya puedes hacer la migración correctamente.
    Por último, agradecer y felicitar a CodersFree por el contenido y el esfuerzo dedicado.

    • @adrianm4287
      @adrianm4287 3 года назад +1

      me daba el mismo problema con XAMP y con esto funciono

    • @DanielSanchez-dr3vf
      @DanielSanchez-dr3vf 3 года назад

      @@adrianm4287 Y en xampp como se hace?, ya que me aparece igual el mismo error, SQLSTATE[HY000] [1049] Unknown database 'blog6' (SQL: drop table if exists `users`)

    • @adrianm4287
      @adrianm4287 3 года назад

      @@DanielSanchez-dr3vf creo que el error que tienes es con el nombre de la base, porque te sale que no conoce la base blog6

    • @adrianm4287
      @adrianm4287 3 года назад

      @@DanielSanchez-dr3vf pero si fuera el mismo, lo solucione con lo del unix_socket. La dirección del archivo mysql.socket en mi instalación de Xampp que está en Disco local c

  • @samirmahmud4421
    @samirmahmud4421 3 года назад +4

    SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists;(...)
    Estuve con ese error un tiempo ya que solo me ejecutaba con exito la migracion de la tabla 'Users', y la solucion que encontre fue editar el archivo
    AppServiceProvider.php con lo siguiente:
    use Illuminate\Support\Facades\Schema;
    public function register()
    {
    }
    public function boot()
    {
    Schema::defaultStringLength(191);
    }
    Luego ejecutar el comando
    php artisan migrate:fresh
    Si aun continua dando error al ejecutar el refresh debes hacer lo siguiente:
    1) php artisan tinker
    2) Schema::drop('users')
    3) php artisan migrate

    • @dantemarceloortiz2684
      @dantemarceloortiz2684 3 года назад +1

      Buenismo. Me funciona. Ya que no me dejaba crear las otras tablas y daba error. Gracias Sigo avanzando. Esta muy bueno el curso

  • @jhoanmunoz1047
    @jhoanmunoz1047 3 года назад

    Me gusta como explicas todo

  • @josbexerr5166
    @josbexerr5166 3 года назад

    Muy bien explicado.....gracias

  • @NeTgAN
    @NeTgAN Год назад

    el 255 es para char, varchar tiene un max-length de 65,535 segun la documentación de mysql

  • @alejandrobreton1509
    @alejandrobreton1509 3 года назад +2

    Hola, alguien podria ayudarme tengo un error al ejecutar mi "php artisan migrate", no se que hacer

  • @onirugear
    @onirugear Год назад +1

    Yo entiendo de elotes, saben buenos con mayonesa chili y limon

  • @wtifa
    @wtifa 4 года назад +1

    Estimado primeramente gracias por compartir tus conocimientos. Excelente aporte. Usas algun pluggin para ver a documentación en español.

    • @CodersFree
      @CodersFree  4 года назад +2

      Solo la opción de google, pongo traducir en español y sale 😅

  • @johnguerrero2135
    @johnguerrero2135 3 года назад +1

    Que es lo recomendable en laravel para importar base de datos con información ya cargada. Importar simplemente desde phpmyadmin?

  • @daltonpaulamayrios3980
    @daltonpaulamayrios3980 3 года назад +2

    PS C:\laragon\www\blog> php artisan migrate
    php : El término 'php' no se reconoce como nombre de un cmdlet, función, archivo de script o programa ejecutable.
    Compruebe si escribió correctamente el nombre o, si incluyó una ruta de acceso, compruebe que dicha ruta es correcta e
    inténtelo de nuevo.
    En línea: 1 Carácter: 1
    + php artisan migrate
    + ~~~
    + CategoryInfo : ObjectNotFound: (php:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
    Me sale este error alguien que me ayude por favor

  • @CodersFree
    @CodersFree  2 года назад

    En Laravel 10, las migraciones son clases anónimas, es decir no tienen nombre.
    Mas haya de eso, la forma de trabajar sigue siendo la misma.

  • @tecnoapps2023
    @tecnoapps2023 2 года назад

    Hola buen día, muchas gracias por compartir esta información, quisiera realizarte una pregunta con respecto a alas migraciones. Como debo configurar las migraciones para exista la relación pero si se quiere borrar un registro que contiene llaves foráneas se pueda realizar y no salga error.

  • @dannyjavi
    @dannyjavi 4 года назад +1

    Buenos días @Coders Free, soy nuevo en el mundo laravel y por defecto se me ha instalado la versión 8 de laravel y aún hay poca información para gente novata como yo, quisiera preguntarte en que parte de la estructura de ficheros que crea el instalador de laravel debo guardar mis scripts js y los archivos css, no se si hacerlo en la carpeta public o en la carpeta resources y con que instrucción ( script src='ruta fichero' o link href=... ruta') se cargarán en mi sitio, te agradecería.
    Muchas gracias por compartir tus conocimientos de manera práctica y fácil para los demás.

    • @CodersFree
      @CodersFree  4 года назад

      En la carpeta public.
      Si tienes intención de compilar los CSS, para que todos tus archivos CSS se compilan en un único archivo css, en ese caso tienes que guardarlo en resource. Este se compilara y el resultado de la compilación lo guardará e la carpeta public

  • @byruloo3976
    @byruloo3976 Год назад

    me da un error a la hora de ejecutar las migraciones
    SQLSTATE[42S02]: Base table or view not found: 1146 Table 'blog.migrations' doesn't exist (SQL: select `migration` from `migrations` order by `batch` asc, `migration` asc)
    y no le encuentro solucion

  • @AngelSalazar-uf5fk
    @AngelSalazar-uf5fk 3 года назад

    Hola que tal, muy bueno tu contenido.
    Tengo una pregunta, si se da el caso de querer integrar más de una base de datos a nuestro proyecto, ¿Cómo hacemos?. Saludos

  • @SoporteTecnicoCBSJC-vr6th
    @SoporteTecnicoCBSJC-vr6th Год назад +1

    A mi se me crearon 5 tablas:
    * failed_jobs
    * migrations
    * password_reset_tokens
    * personal_access_tokens
    * users

  • @juanda8652
    @juanda8652 3 года назад

    como generas los archivos de migración?
    hay alguna forma rapida? o tengo que escribir todo eso a mano?
    Gracias y el curso está genial

  • @juanantonio6760
    @juanantonio6760 3 года назад

    como puedo la base de datos existente es decir las tablas pero de mysql a laravel lo he echo con c# con entityframwork no se si se pueda con laravel voy empezando!

  • @joseespinal9113
    @joseespinal9113 3 года назад

    algún videeo de ORM Eloquent: Relationships para la base de datos

  • @principepaloma
    @principepaloma 3 года назад

    una pregunta, se puede usar MAMP?, al ejecutar "php artisan migrate" me da un error de no haber encontrado la base de datos, pero ya la cree con el mismo nombre del .env

  • @yulylc5855
    @yulylc5855 2 года назад

    Hola, solo se me crean las tablas users y migrations, las otras dos no.

  • @javierferrero396
    @javierferrero396 2 года назад

    Hola Victor,
    Estoy sustituyendo algunas cosas de Laravel 8 a Laravel 9 y he encontrado un error al hacer las migraciones. En Laravel 8, tras las sentencias 'use...' se declaraba la migración empezando con 'class Nombre extends Migration', pero en Laravel 9 parece que ha cambiado y ahora se utiliza 'return new class extends Migration'. Quizás deberías cambiarlo en este video.

  • @aitorblanco3838
    @aitorblanco3838 3 года назад

    crack

  • @yoanestradablanco1608
    @yoanestradablanco1608 3 года назад

    Mano el curso esta genial pero veo que no has subido a tu plataforma todos los videos y por ahi hay menos distraccion un gustaso y un like

  • @joseleonrs9817
    @joseleonrs9817 2 года назад

    Pregunto, debes realizar una migración por cada tabla

  • @frezzer33
    @frezzer33 3 года назад

    amigo si nos referimos a la llave primaria se usa el unique o el increment???

  • @edwardramirez933
    @edwardramirez933 3 года назад

    Me sale el siguiente error:
    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`))
    Alguien me podría ayudar

  • @khrystyan888
    @khrystyan888 Год назад

    En el caso de que desee editar la tabla?

  • @panteur
    @panteur 2 года назад

    y las relaciones?? (llaves foraneas)

  • @robertocarlo2014
    @robertocarlo2014 2 года назад

    es necesario crear la tabla USERS?? cual el fin

  • @evansmusicgospel
    @evansmusicgospel 3 года назад

    tengo este error con Wamp
    C:\wamp64\www\blog>php artisan migrate
    Migration table created successfully.
    Migrating: 2014_10_12_000000_create_users_table
    Illuminate\Database\QueryException
    SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes (SQL: alter table `users` add unique `users_email_unique`(`email`))
    at C:\wamp64\www\blog\vendor\laravel\framework\src\Illuminate\Database\Connection.php:678
    674▕ // If an exception occurs when attempting to run a query, we'll format the error
    675▕ // message to include the bindings with SQL, which will
    make this exception a
    676▕ // lot more helpful to the developer instead of just the database's errors.
    677▕ catch (Exception $e) {
    ➜ 678▕ throw new QueryException(
    679▕ $query, $this->prepareBindings($bindings), $e
    680▕ );
    681▕ }
    682▕
    }
    682▕
    1 C:\wamp64\www\blog\vendor\laravel\framework\src\Illuminate\Database\Connection.php:471
    PDOException::("SQLSTATE[42000]: Syntax error or access violation:
    1071 Specified key was too long; max key length is 1000 bytes")
    2 C:\wamp64\www\blog\vendor\laravel\framework\src\Illuminate\Database\Connection.php:471
    PDOStatement::execute()