[AYUDA] dbforge error creando relaciones en la base de datos, sale: (errno: 150)

Iniciado por graphixx, Agosto 26, 2014, 05:41:35 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Error on rename of'.\alertamedica\#sql-446c_3e' to '.\alertamedica\usuarios' (errno: 150)
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Codigo SQL de la BD:
Tabla principal:
Código: sql

CREATE TABLE alertamedica.usuarios (
  id INT(11) DEFAULT NULL,
  cedula VARCHAR(30) DEFAULT NULL,
  codigo VARCHAR(30) DEFAULT NULL,
  email VARCHAR(200) DEFAULT NULL,
  CONSTRAINT FK_usuarios_alergias_cedula FOREIGN KEY (cedula)
    REFERENCES alertamedica.alergias(cedula) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT FK_usuarios_avisar_cedula FOREIGN KEY (cedula)
    REFERENCES alertamedica.avisar(cedula) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT FK_usuarios_datos_personales_cedula FOREIGN KEY (cedula)
    REFERENCES alertamedica.datos_personales(cedula) ON DELETE NO ACTION ON UPDATE NO ACTION
)
ENGINE = INNODB
CHARACTER SET latin1
COLLATE latin1_swedish_ci;


Tabla secundaria correctamente relacionada:
Código: sql

CREATE TABLE alertamedica.alergias (
  id INT(11) DEFAULT NULL,
  cedula VARCHAR(30) DEFAULT NULL,
  descripcion VARCHAR(1000) DEFAULT NULL,
  UNIQUE INDEX UK_alergias_cedula (cedula)
)
ENGINE = INNODB
CHARACTER SET latin1
COLLATE latin1_swedish_ci;


Tabla que quiero relacionar por campo cedula, igual que alergias a usuarios
Código: sql

CREATE TABLE alertamedica.condiciones_medicas (
  id INT(11) DEFAULT NULL,
  cedula VARCHAR(30) DEFAULT NULL,
  enfermedades TEXT DEFAULT NULL,
  analisis_azucar_sang CHAR(5) DEFAULT NULL,
  analisis_colesterol_sangre TEXT DEFAULT NULL,
  vacunas TEXT DEFAULT NULL,
  alergias TEXT DEFAULT NULL,
  prob_circ_sanguinea TEXT DEFAULT NULL,
  UNIQUE INDEX UK_condiciones_medicas_cedula (cedula)
)
ENGINE = INNODB
CHARACTER SET latin1
COLLATE latin1_swedish_ci;


Alguna idea de por que sale ese error, me dejo relacionar 3 tablas secundarias y empezo a sacar ese error 150.




Si borro todo y empiezo desde 0 pero a punta de consola, haciendo:
Código: sql

CREATE TABLE usuarios (
  id INT(11) DEFAULT NULL,
  cedula VARCHAR(30) DEFAULT NULL,
  codigo VARCHAR(30) DEFAULT NULL,
  email VARCHAR(200) DEFAULT NULL,
  CONSTRAINT FK_usuarios_alergias_cedula FOREIGN KEY (cedula)
    REFERENCES alertamedica_pruebas.alergias(cedula) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT FK_usuarios_avisar_cedula FOREIGN KEY (cedula)
    REFERENCES alertamedica_pruebas.avisar(cedula) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT FK_usuarios_datos_personales_cedula FOREIGN KEY (cedula)
    REFERENCES alertamedica_pruebas.datos_personales(cedula) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT FK_usuarios_condiciones_medicas_cedula FOREIGN KEY (cedula)
    REFERENCES alertamedica_pruebas.condiciones_medicas(cedula) ON DELETE NO ACTION ON UPDATE NO ACTION
)
ENGINE = INNODB
CHARACTER SET latin1
COLLATE latin1_swedish_ci;

El sistema me recibe la relacion, pero por la interfaz grafica del dbforge no  :-(

Y cuando cargo las bases de datos al DBForge vaya que toma la relacion:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No entiendo por que esta saliendo ese error en el IDE, figuro hacerlo a la vieja escuela, y modelar toda mi DB por consola, increible.

PD: Si alguien conoce algun otro IDE para modelar bases de datos que no sea workbench o dbforge, se le agradece.
Mi Blog Personal
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Podrías darle una hojeada a este articulo, quizás te ayude.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos.
El talento se parece al tirador que da en un blanco que los demás no pueden alcanzar; el genio se parece al tirador que da en un blanco que los demás no pueden ver.