Yii Framework Forum: Problemas Con Clave Compuesta - Crud - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Problemas Con Clave Compuesta - Crud Table has a composite primary key which is not supported by c Rate Topic: -----

#1 User is offline   alexd2 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 27
  • Joined: 12-September 12

Posted 30 October 2012 - 11:24 AM

Hola a todos a ver si le ha pasado a alguien esto, espero que si.
Cuando modelo mi bbdd con mysql workbench y en gii genero el crud me salta el bendito error:
Table 'estado' has a composite primary key which is not supported by crud generator

He buscado posibles soluciones pero no me aclaro del todo y no he aplicado ninguno.
A quien le paso estoy y como lo solucione o que aconseja realizar en la bbdd para evitar este tipo de errores.
Me parece raro que los miembros de yii no hayan hecho nada para poder repararlo en cada nueva versión se sale a la luz

Adjunto el modelo de la bbdd

Attached File  bbdd.png (48.75K)
Number of downloads: 24
0

#2 User is offline   sebas 

  • Advanced Member
  • Yii
  • Group: Yii Dev Team
  • Posts: 496
  • Joined: 28-October 08
  • Location:Buenos Aires, Argentina

Posted 30 October 2012 - 12:41 PM

No se si es una opción, pero normalmente ante estos en Artfos generamos keys única y un unique entre los 3 items que tenés de key.

A su vez te va a ser más facil referenciarlos.

Saludos!
0

#3 User is offline   alexd2 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 27
  • Joined: 12-September 12

Posted 30 October 2012 - 12:58 PM

View Postsebas, on 30 October 2012 - 12:41 PM, said:

No se si es una opción, pero normalmente ante estos en Artfos generamos keys única y un unique entre los 3 items que tenés de key.

A su vez te va a ser más facil referenciarlos.

Saludos!

Gracias pensé que nadie respondería, me pongo a ello y ya lo comento.
0

#4 User is offline   robregonm 

  • Expert Yii Developer
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 594
  • Joined: 30-July 09
  • Location:Colombia

Posted 30 October 2012 - 01:14 PM

Agrego a lo que dice Sebas, que si por alguna razón la llave primaria es obligatorio que sea compuesta, sería bueno probar con las extensiones de generación de código de Gii... como AweCrud, GiiX, GTC, entre otros, que soportan llaves compuestas y adicionalmente generan código con algunos complementos y ayudas adicionales súper útiles y sobretodo minimizan las modificaciones sobre el código generado.

Saludos
Ricardo Obregón

YiiFramework en Español - http://yiiframework.co/ - http://yiiframeworkenespanol.org/ - Yii Code Generator for Bootstrap
http://obregon.co/ - https://1server.co/
PHP 5.5+, nginx 1.7, MySQL(MariaDB & PerconaDB), PostgreSQL 9, Yii 2, CanJS
Follow me: @robregonm & @obregonco & @1ServerCo.
0

#5 User is offline   cesarg24 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 9
  • Joined: 09-November 12

Posted 05 March 2013 - 10:46 AM

View Postrobregonm, on 30 October 2012 - 01:14 PM, said:

Agrego a lo que dice Sebas, que si por alguna razón la llave primaria es obligatorio que sea compuesta, sería bueno probar con las extensiones de generación de código de Gii... como AweCrud, GiiX, GTC, entre otros, que soportan llaves compuestas y adicionalmente generan código con algunos complementos y ayudas adicionales súper útiles y sobretodo minimizan las modificaciones sobre el código generado.

Saludos


Saludos he descargado AweCrud e instalado ésta extensión, al momento de generar el modelo, no hay problema, pero cuando quiero generar un controlador, vistas CRUD...sale el mismo mensaje de error Table '' has composite primary key which is not supported by crud generator..es decir AweCrud no funciona para tablas que tienen claves compuestas..
Si estoy equivocado les ruego disculpas... Si alguien sabe alguna solución para tablas con claves compuestas Gracias o deberíamos tratar de diseñar la base de datos unicamente con una clave primaria y los unique....
0

#6 User is offline   robregonm 

  • Expert Yii Developer
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 594
  • Joined: 30-July 09
  • Location:Colombia

Posted 07 March 2013 - 12:08 PM

En definitiva por diseño de base de datos se recomienda que las llaves primarias de las tablas sean un único campo (preferiblemente autoincremental, aunque hay otras opciones), y si se necesita algo compuesto, como dice @sebas entonces se coloca una llave alterna UNIQUE que hará la validación de unicidad requerida.

Sea dicho de paso que por eso se eliminó el soporte a llaves compuestas en AweCrud, pero eso es otro asunto ;)


Saludos.
Ricardo Obregón

YiiFramework en Español - http://yiiframework.co/ - http://yiiframeworkenespanol.org/ - Yii Code Generator for Bootstrap
http://obregon.co/ - https://1server.co/
PHP 5.5+, nginx 1.7, MySQL(MariaDB & PerconaDB), PostgreSQL 9, Yii 2, CanJS
Follow me: @robregonm & @obregonco & @1ServerCo.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users