没有外键的Laravel DB播种

时间:2013-08-05 17:48:57

标签: laravel laravel-4 seeding

大约6个月前为Laravel Database Seeding创建了一个问题。问题在于MySQL如何阻止因外键约束而截断表。

Tayor Otwell(Laravel的创始人)在他的评论中说明了以下内容

https://github.com/laravel/framework/issues/243#issuecomment-13051091

  

固定。不知道为什么人们仍然坚持使用外键和播种。这只是头疼,这就是为什么Rails甚至不支持它。

请解释如何在播种时使用外键

示例表结构:

CREATE  TABLE `posts` (
  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `title` VARCHAR(45) NOT NULL,
  `body` TEXT NULL,
  PRIMARY KEY (`id`)
);

CREATE  TABLE `comments` (
  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
  `comment` VARCHAR(500) NOT NULL ,
  `post_id` INT UNSIGNED NOT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `fk_comments_1_idx` (`post_id` ASC) ,
  CONSTRAINT `fk_comments_1`
      FOREIGN KEY (`post_id` )
        REFERENCES `blog_test`.`posts` (`id` )
        ON DELETE NO ACTION
        ON UPDATE NO ACTION
);

感谢。

0 个答案:

没有答案