Description:
There is an error when launching forward engineer process for table with a foreign key referring to the same table.
Creating table without foreign key and doing after model synchro doesn't help.
How to repeat:
1. Create a table with foreign key referring to the same table, ex.
CREATE TABLE IF NOT EXISTS `newsletter_group` (
`newsletter_group_id` SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT ,
`name` VARCHAR(255) NULL ,
`parent_newsletter_group_id` SMALLINT NULL ,
PRIMARY KEY (`newsletter_group_id`) ,
INDEX `fk_newsletter_group_newsletter_group1` (`parent_newsletter_group_id` ASC) ,
CONSTRAINT `fk_newsletter_group_newsletter_group1`
FOREIGN KEY (`parent_newsletter_group_id` )
REFERENCES `newsletter_group` (`newsletter_group_id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
2. run: Database -> Forward Engineer..
Suggested fix:
Maybe when script detect there is a foreign key referring to the same table if creates only indexes, and foreign key statments will be executes as a separate ALTER query.