Creación de la bbdd - Parte 1
Comprar curso

15. Creación de la bbdd - Parte 1


14 comentarios

Inicia sesión para comentar

Comentarios:

  • Juanjo Tresselle

    Juanjo Tresselle hace 2 meses

    Hola victor buenos dias, a la hora de utilizar PHP ARTISAN MIGRATE aparce un error al crear la table couses y no permite generar las restantes ¿como lo puedo solucionar?

    • Victor Arana Flores hace 2 meses

      Hola Juanjo, cuando creas las tablas debes seguir un orden.

      En este caso el error te dice que estas agregando una llave foranea que hace referencia al id de la tla lever, y esa tabla aun no lo has creado.

  • Juan Fernando Calvache Hernandez

    Juan Fernando Calvache Hernandez hace 5 meses

    Hola, victor ¿porque cuando creas la tabla “category” te sale “categories”?

    • Victor Arana Flores hace 5 meses

      Hola Juan, es una convencion de Laravel. Los modelos se nombran en singular, y las tablas en plural. Si no estas familizarizado con estas convenciones, te recomiendo primero llevar un curso de Laravel desde cero, sino te vas a perder en las explicaciones.

  • Angel

    Angel hace 5 meses

    Pregunta | Considerando que instale las extensiones que sugueriste para VSC - será que algo me falta porque al crear un modelo usando la terminal de VSC - puedo ver que se crea diferente. Es decir, en el archivo create_levels_table puedes ver que la línea 7 es diferente con respecto al archivo de la tabla que generaste tu. Esta es mi tercera vez empezando desde cero - en las dos ultimas veces lo estaba cambiando manual, pero lo ideal es que se genere como a ti, alguna idea?

    • Victor Arana Flores hace 5 meses

      Hola estimado Angel, te invito a llevar mi curso de Laravel desde cero en mi canal de youtube.

      O mi curso de Laravel de paga en la plataforma: https://codersfree.com/cursos/aprende-laravel-avanzad . En este ultimo verás Laravel en su ultima versión.

      Veo que se te dificulta mucho iniciar con Laravel, sobre todo porque te centras mucho en los pequeños cambios que ha ocurrido entre versión y versión y no en el funcionamiento como tal de Laravel, por lo que puedo suponer que recien estás iniciando en el mundo de Laravel.

      Te comento. Desde Laravel 9, las migraciones se trabaja con algo que se conoce como clases anonimas. Es decir estas clases no tienen nombre.

      No obstante las migraciones se siguen trabajando de la misma manera, tienen un metodo up, un metodo down. Para definir los campos se inyecta una objetro blueprint, etc.

  • Jheyner David Ibagon

    Jheyner David Ibagon hace 8 meses

    Hola Víctor, gracias por el aprendizaje… si fuese un poco más de una estructura de diseño y aplicando las 7 formas normales de un M.E.R teniendo encuentra las 3 primeras formas o normativas veo que hay un ciclo repetitivo e informal en la relación de estas tres tablas.

     

     

    Dejando simplificado estas 4 tablas a solo 3, users course_user course.

     

     

    Para identificar si un usuario es profesor o alumno y que se identifique quien dicta el curso y quien lo recibe como alumno se puede realizar en una tabla aparte de roles con usuarios ( laravel permission ) este tema lo aplicas más adelante y la información se puede filtrar a partir de esa condición. A además la tabla review a mi parecer puede sobrar y dejando los datos en la tabla pivote para mirar los comentarios y calificación de esos usuarios respecto al curso. 

    Voy a intentarlo de esta forma alterando un poco las consultas con la tabla roles generada por laravel permission y dejando así normalizado el diseño de la base de datos. 


    Si tenés alguna observación respecto a la idea mía quisiera saberla pues quiero aprender y aplicar este concepto junto a laravel y el comportamiento que pueda tener. Muchas gracias.

  • Diguis Flores

    Diguis Flores hace 8 meses

    hola, en el minuto 23 explicas que hay que definir la llave foranea de forma explicita, pero no logro entender muy bien, podrías explicarlo de una forma mas detallada? 

  • Alejandro

    Alejandro hace 9 meses

    buenas tardes , al hora de hacer el migrate:fresh ,me da este fallo por esto :

     ErrorException

     Array to string conversion

     at vendor\laravel\framework\src\Illuminate\Database\Schema\Grammars\MySqlGrammar.php:592
       588▕         // return "varchar(" . $column->length . ")";
       589▕         // return "varchar(" . $column->get('length') . ")";
       590▕         // return "varchar(" . $column->length . ")";
       591▕         // return "varchar(" . (string) $column->length . ")";
     ➜ 592▕         return "varchar(" . strval($column->length) . ")";
       593▕     }
       594▕
       595▕     /**
       596▕      * Create the column definition for a tiny text type.

     1   vendor\laravel\framework\src\Illuminate\Database\Schema\Grammars\MySqlGrammar.php:592

     2   vendor\laravel\framework\src\Illuminate\Database\Schema\Grammars\Grammar.php:194
         Illuminate\Database\Schema\Grammars\MySqlGrammar::typeString(Object(Illuminate\Database\Schema\ColumnDefinition))

    • Victor Arana Flores hace 9 meses

      Hola Alejandro, solo viendo el error no voy a poder ayudarte.

      Lo unico que te puedo decir es que el error te dice que hay un error de tipo, estás intentando guardar un array en un campo string, o algo por el estilo.

    • Alejandro hace 9 meses

      al final hoy me puse despues del trabajo y ya he conseguido ver el error , no me di cuenta del Enum y por eso me daba fallo en el array , gracias por estar pendiente y contestarme.

  • Edgar Rodriguez

    Edgar Rodriguez hace 1 año

    Hola Victor, una consulta al final de video duplicas la relacion de level, para categoy y price, se debe cambiar la ruta correspondiente?

     

    Saludos

    • Victor Arana Flores hace 1 año

      Hola Edgar, a que te refieres con cambiar la ruta correspondiente?

    • Edgar Rodriguez hace 1 año

      Gracias Víctor, ya lo solucione, sin embargo tengo un problema en el video 9, ya te escribi ahi, saludos.

  • Jonathan Kevin Sandoval Nuñez

    Jonathan Kevin Sandoval Nuñez hace 1 año

    Hola Victor, tengo una consulta recomiendas que a una tabla intermedia en las migraciones se le agarren mas campos, por ejemplo un sistema ventas (se le agregue cantidad, precio venta) o es preferible crear otra entidad para estos casos?

    • Victor Arana Flores hace 1 año

      Hola Jonathan. Claro, puedes agregar más campos.

      Todo va depender de las necesidades de tu proyecto

    • Jonathan Kevin Sandoval Nuñez hace 1 año

      Muchas gracias por responder, tengo otra consulta en una tabla aparte del id, se puede crear un campo que tenga un valor incremental? por ejemplo: campo code con valor INC000001, INC000002 y asi sucesivamente, si hay un tipo de dato que lo permita en la migracion. 

    • Victor Arana Flores hace 1 año

      Hola, para agregar incremental tiene que agregarle una llave primaria, y solo puedes tener una llave primaria en una tabla.

      No obstante podrías hacerlo incremental calculando cual fue el ultimo registro que se ingreso y aumentarle una unidad.

  • Pablo Zagni

    Pablo Zagni hace 1 año

    Victor. Excelente el curso. Ahora que estoy investigando Metodologías ágiles, lo que tu haces es “cascada”, tienes todos los requerimientos, porque tu ya tienes conocimiento de lo que quieres hacer. En otros proyectos, el cliente va necesitando entregas parciales (agil / scrum). Me detuve aquí con un proyecto porque no tengo todos los requerimientos del cliente, entonces decidí empezar con el proyecto, e ir haciendo de a partes. 

  • Antonio Salcedo

    Antonio Salcedo hace 1 año

    De alguna forma al momento de correr la migración cuando se realizan las primeras relaciones entre la table course y users da un error de add foreing key constraint, lo solucione leyendo la documentación solo busquen https://laravel.com/docs/9.x/migrations#foreign-key-constraints y encontraran la solución.