elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  RBAC - problema con AuthItemChild Table en Yii
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: RBAC - problema con AuthItemChild Table en Yii  (Leído 5,118 veces)
Graphixx


Desconectado Desconectado

Mensajes: 1.336


Full Stack Developer


Ver Perfil WWW
RBAC - problema con AuthItemChild Table en Yii
« en: 25 Mayo 2011, 00:45 am »

Al ejecutar el script sql en la base de datos:
Código:
create table AuthItemChild
(
   parent               varchar(64) not null,
   child                varchar(64) not null,
   primary key (parent,child),
   foreign key (parent) references AuthItem (name) on delete cascade on update cascade,
   foreign key (child) references AuthItem (name) on delete cascade on update cascade
);

El sistema dice:
Mens. 1785, Nivel 16, Estado 0, Línea 1
Si especifica la restricción FOREIGN KEY 'FK__AuthItemC__child__3F522093' en la tabla 'AuthItemChild', podrían producirse ciclos o múltiples rutas en cascada. Especifique ON DELETE NO ACTION o UPDATE NO ACTION, o bien modifique otras restricciones FOREIGN KEY.
Mens. 1750, Nivel 16, Estado 0, Línea 1
No se pudo crear la restricción. Consulte los errores anteriores.

Alguna idea de cual es el problema ???


En línea

Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx Rōninnovation
Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: RBAC - problema con AuthItemChild Table en Yii
« Respuesta #1 en: 26 Mayo 2011, 08:39 am »

creo que el problema esta en que ambas hacen referencia al mismo campo en otra tabla... y que si le sucede algo a AuthItem (name) se actualizara/eliminara en cascada en ambos campos, lo cual es logico si la relacion es de muchos a muchos en la misma tabla (AuthItem)... puedo preguntar que base de datos y que motor usas?


En línea

Ojo por ojo, y el mundo acabará ciego.
Graphixx


Desconectado Desconectado

Mensajes: 1.336


Full Stack Developer


Ver Perfil WWW
Re: RBAC - problema con AuthItemChild Table en Yii
« Respuesta #2 en: 31 Mayo 2011, 00:45 am »

Motor: MS SQL SERVER 2008
base de datos: SQL

lo corregi asi, no se si esta bien pero funciono:

Código:
create table AuthItemChild
(
   parent               varchar(64) not null,
   child                varchar(64) not null,
   primary key (parent,child),
   foreign key (parent) references AuthItem (name) on delete cascade on update cascade,
   foreign key (child) references AuthItem (name) on delete no action on update no action
);

El codigo completo del script es:
Código:
/**
 * Database schema required by CDbAuthManager.
 *
 * @author Qiang Xue <qiang.xue@gmail.com>
 * @link http://www.yiiframework.com/
 * @copyright Copyright &copy; 2008 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 * @since 1.0
 */
 
drop table if exists AuthAssignment;
drop table if exists AuthItemChild;
drop table if exists AuthItem;
 
create table AuthItem
(
   name                 varchar(64) not null,
   type                 integer not null,
   description          text,
   bizrule              text,
   data                 text,
   primary key (name)
);
 
create table AuthItemChild
(
   parent               varchar(64) not null,
   child                varchar(64) not null,
   primary key (parent,child),
   foreign key (parent) references AuthItem (name) on delete cascade on update cascade,
   foreign key (child) references AuthItem (name) on delete cascade on update cascade
);
 
create table AuthAssignment
(
   itemname             varchar(64) not null,
   userid               varchar(64) not null,
   bizrule              text,
   data                 text,
   primary key (itemname,userid),
   foreign key (itemname) references AuthItem (name) on delete cascade on update cascade
);
En línea

Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx Rōninnovation
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Sacar las enlaces de un table de una web
Programación Visual Basic
‭lipman 0 1,341 Último mensaje 6 Septiembre 2007, 22:23 pm
por ‭lipman
Recorrer una table
Programación General
sasj13 1 3,793 Último mensaje 24 Junio 2010, 13:22 pm
por jlrvpuma
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines