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/
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.
Pues, aunque aparento de menos edad, en realidad me voy para los 30 😅
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!!
Super, tu aporte me sirvió muchísimo!!
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
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.
@@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.
@Henry E Gómez L sos un capo
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.
Estoy en la misma situacion!
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
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.
Tus cursos son los mejores, ya le compartí a mis amigos
Maravillosa explicación. Aclaras el porqué y para qué de todo
Me gusta mucho el curso, realmente está MUY bien explicado, felicitaciones, buen material
WOOO...W EXCELENTE TRABAJO, MUCHAS GRACIAS POR TODO LO QUE REALIZASTE PARA HACER ESTOS VIDEOS ESTAN SUPER, GOOD JOB.!!!
Excelente.. Claro y Conciso, sin necesidad de tanta teoría..
Buenas Noches flores, nos Tenes olvidados mi estimado...
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!!
Felicidades muy bueno el curso pienso verlo completo
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 !!!!
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
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!!!
Muy bueno hasta ahora, gracias!
explica mejor que mi profeee me suscribo buen hombre
Muy bueno y muy didáctico profe, estoy comiendo tus videos. jajajaja. Muchas gracias.
Estoy pensando hacer a la par un curso de Tailwind CSS, que laravel 8 deja de lado Boostrap, y crea su interfaz con tailwind
Muy buen tuto ya voy por el siguiente video
excelente amigo muy bien explicado saludos desde Colombia
Es grandioso que expliques a detalle cada punto. Así es muy fácil aprender
con muchas ganas de continuar.
Buen video!
Muchas gracias por este curso mi estimado amigo
¡Gracias!🥰
gran video
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.
Great Presentation!
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.
me daba el mismo problema con XAMP y con esto funciono
@@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`)
@@DanielSanchez-dr3vf creo que el error que tienes es con el nombre de la base, porque te sale que no conoce la base blog6
@@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
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
Buenismo. Me funciona. Ya que no me dejaba crear las otras tablas y daba error. Gracias Sigo avanzando. Esta muy bueno el curso
Me gusta como explicas todo
Muy bien explicado.....gracias
el 255 es para char, varchar tiene un max-length de 65,535 segun la documentación de mysql
Hola, alguien podria ayudarme tengo un error al ejecutar mi "php artisan migrate", no se que hacer
Yo entiendo de elotes, saben buenos con mayonesa chili y limon
Estimado primeramente gracias por compartir tus conocimientos. Excelente aporte. Usas algun pluggin para ver a documentación en español.
Solo la opción de google, pongo traducir en español y sale 😅
Que es lo recomendable en laravel para importar base de datos con información ya cargada. Importar simplemente desde phpmyadmin?
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
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.
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.
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.
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
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
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
A mi se me crearon 5 tablas:
* failed_jobs
* migrations
* password_reset_tokens
* personal_access_tokens
* users
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
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!
algún videeo de ORM Eloquent: Relationships para la base de datos
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
Hola, solo se me crean las tablas users y migrations, las otras dos no.
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.
crack
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
Pregunto, debes realizar una migración por cada tabla
amigo si nos referimos a la llave primaria se usa el unique o el increment???
increment nadamas asi siempre va a ser unico el valor
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
En el caso de que desee editar la tabla?
aprende SQL.
y las relaciones?? (llaves foraneas)
es necesario crear la tabla USERS?? cual el fin
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()