Problemas Con Clave Compuesta - Crud

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

3404

bbdd.png

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.

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…

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.