Hello everybody,
I am new with Yii, and like everybody i’m trying to do my 1st application with Yii.
Atm, my only problem, is that relation beetween table are never detected when i use Yiic or Gii.
Here’s is my tables structures, what’s wrong with it ?
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';
DROP SCHEMA IF EXISTS `reloaded` ;
CREATE SCHEMA IF NOT EXISTS `reloaded` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;
USE `reloaded` ;
-- -----------------------------------------------------
-- Table `reloaded`.`cleValidation`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `reloaded`.`cleValidation` ;
CREATE TABLE IF NOT EXISTS `reloaded`.`cleValidation` (
`id` BIGINT UNSIGNED NOT NULL ,
`valeur` VARCHAR(45) NOT NULL ,
`dateGeneration` DATETIME NOT NULL ,
PRIMARY KEY (`id`) )
ENGINE = MyISAM;
CREATE UNIQUE INDEX `idUsers_UNIQUE` ON `reloaded`.`cleValidation` (`id` ASC) ;
CREATE UNIQUE INDEX `valeurCleValidation_UNIQUE` ON `reloaded`.`cleValidation` (`valeur` ASC) ;
-- -----------------------------------------------------
-- Table `reloaded`.`Users`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `reloaded`.`Users` ;
CREATE TABLE IF NOT EXISTS `reloaded`.`Users` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT ,
`username` VARCHAR(45) NOT NULL ,
`login` VARCHAR(45) NOT NULL ,
`password` VARCHAR(128) NOT NULL ,
`typeCompte` ENUM('natif','facebook','openid','twitter') NOT NULL ,
`naissance` DATE NULL ,
`compteValide` TINYINT(1) NULL DEFAULT 0 ,
`salt` VARCHAR(128) NULL ,
PRIMARY KEY (`id`) ,
CONSTRAINT `fk_Users_cleValidation`
FOREIGN KEY (`id` )
REFERENCES `reloaded`.`cleValidation` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = MyISAM;
CREATE UNIQUE INDEX `idUsers_UNIQUE` ON `reloaded`.`Users` (`id` ASC) ;
CREATE UNIQUE INDEX `usernameUsers_UNIQUE` ON `reloaded`.`Users` (`username` ASC) ;
CREATE UNIQUE INDEX `loginUsers_UNIQUE` ON `reloaded`.`Users` (`login` ASC) ;
CREATE INDEX `fk_Users_cleValidation` ON `reloaded`.`Users` (`id` ASC) ;
-- -----------------------------------------------------
-- Table `reloaded`.`categories`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `reloaded`.`categories` ;
CREATE TABLE IF NOT EXISTS `reloaded`.`categories` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`nom` VARCHAR(45) NULL ,
PRIMARY KEY (`id`) )
ENGINE = MyISAM;
CREATE UNIQUE INDEX `idcategories_UNIQUE` ON `reloaded`.`categories` (`id` ASC) ;
CREATE UNIQUE INDEX `nomCategories_UNIQUE` ON `reloaded`.`categories` (`nom` ASC) ;
-- -----------------------------------------------------
-- Table `reloaded`.`sousCategories`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `reloaded`.`sousCategories` ;
CREATE TABLE IF NOT EXISTS `reloaded`.`sousCategories` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`nom` VARCHAR(45) NOT NULL ,
`idParent` INT UNSIGNED NOT NULL ,
PRIMARY KEY (`id`) ,
CONSTRAINT `fk_sousCategories_categories1`
FOREIGN KEY (`idParent` )
REFERENCES `reloaded`.`categories` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = MyISAM;
CREATE UNIQUE INDEX `idSousCategories_UNIQUE` ON `reloaded`.`sousCategories` (`id` ASC) ;
CREATE UNIQUE INDEX `nomSousCategories_UNIQUE` ON `reloaded`.`sousCategories` (`nom` ASC) ;
CREATE INDEX `fk_sousCategories_categories1` ON `reloaded`.`sousCategories` (`idParent` ASC) ;
-- -----------------------------------------------------
-- Table `reloaded`.`Articles`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `reloaded`.`Articles` ;
CREATE TABLE IF NOT EXISTS `reloaded`.`Articles` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`titre` VARCHAR(255) NOT NULL ,
`auteur` BIGINT UNSIGNED NOT NULL ,
`texte` TEXT NOT NULL ,
`date` DATETIME NOT NULL ,
`categories` INT UNSIGNED NOT NULL ,
`sousCategories` INT UNSIGNED NULL ,
`featured` TINYINT(1) NULL DEFAULT 0 ,
PRIMARY KEY (`id`) ,
CONSTRAINT `fk_Articles_Users1`
FOREIGN KEY (`auteur` )
REFERENCES `reloaded`.`Users` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Articles_categories1`
FOREIGN KEY (`categories` )
REFERENCES `reloaded`.`categories` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Articles_sousCategories1`
FOREIGN KEY (`sousCategories` )
REFERENCES `reloaded`.`sousCategories` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = MyISAM;
CREATE UNIQUE INDEX `idArticles_UNIQUE` ON `reloaded`.`Articles` (`id` ASC) ;
CREATE INDEX `fk_Articles_Users1` ON `reloaded`.`Articles` (`auteur` ASC) ;
CREATE INDEX `fk_Articles_categories1` ON `reloaded`.`Articles` (`categories` ASC) ;
CREATE INDEX `fk_Articles_sousCategories1` ON `reloaded`.`Articles` (`sousCategories` ASC) ;
-- -----------------------------------------------------
-- Table `reloaded`.`Breves`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `reloaded`.`Breves` ;
CREATE TABLE IF NOT EXISTS `reloaded`.`Breves` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`titre` VARCHAR(255) NOT NULL ,
`auteur` BIGINT UNSIGNED NOT NULL ,
`texte` TEXT NOT NULL ,
`date` DATETIME NOT NULL ,
`categories` INT UNSIGNED NULL ,
`sousCategories` INT UNSIGNED NULL ,
PRIMARY KEY (`id`) )
ENGINE = MyISAM;
CREATE UNIQUE INDEX `idArticles_UNIQUE` ON `reloaded`.`Breves` (`id` ASC) ;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
Thanks for your help !