0

Laravel Database Seeding に関して、約 6 か月前にイシューが作成されました。問題は、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
);

ありがとう。

4

0 に答える 0