cookpad / kuroko2

Kuroko2 is a web-based job scheduler / workflow engine.
MIT License
313 stars 72 forks source link

Cannot migrate CreateScriptRevisions #127

Closed Sorarinu closed 5 years ago

Sorarinu commented 5 years ago

External constraint key error when DB migration. Please tell me the corresponding means.

image

# bin/rails db:migrate RAILS_ENV=development
== 20190411084473 CreateScriptRevisions: migrating ============================
-- create_table(:script_revisions)
rails aborted!
StandardError: An error has occurred, all later migrations canceled:

Mysql2::Error: Cannot add foreign key constraint: CREATE TABLE `kuroko2_script_revisions` (`id` int AUTO_INCREMENT PRIMARY KEY, `job_definition_id` int NOT NULL, `script` text NOT NULL, `user_id` int, `changed_at` datetime NOT NULL, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL,  INDEX `index_kuroko2_script_revisions_on_job_definition_id`  (`job_definition_id`),  INDEX `index_kuroko2_script_revisions_on_user_id`  (`user_id`), CONSTRAINT `fk_rails_753524e5bd`
FOREIGN KEY (`job_definition_id`)
  REFERENCES `kuroko2_job_definitions` (`id`)
, CONSTRAINT `fk_rails_4a096a63c7`
FOREIGN KEY (`user_id`)
  REFERENCES `kuroko2_users` (`id`)
) ENGINE=InnoDB
/opt/my_kuroko2/db/migrate/20190411084473_create_script_revisions.kuroko2.rb:4:in `up'
/opt/my_kuroko2/bin/rails:9:in `require'
/opt/my_kuroko2/bin/rails:9:in `<top (required)>'
/opt/my_kuroko2/bin/spring:15:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'

Caused by:
ActiveRecord::StatementInvalid: Mysql2::Error: Cannot add foreign key constraint: CREATE TABLE `kuroko2_script_revisions` (`id` int AUTO_INCREMENT PRIMARY KEY, `job_definition_id` int NOT NULL, `script` text NOT NULL, `user_id` int, `changed_at` datetime NOT NULL, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL,  INDEX `index_kuroko2_script_revisions_on_job_definition_id`  (`job_definition_id`),  INDEX `index_kuroko2_script_revisions_on_user_id`  (`user_id`), CONSTRAINT `fk_rails_753524e5bd`
FOREIGN KEY (`job_definition_id`)
  REFERENCES `kuroko2_job_definitions` (`id`)
, CONSTRAINT `fk_rails_4a096a63c7`
FOREIGN KEY (`user_id`)
  REFERENCES `kuroko2_users` (`id`)
) ENGINE=InnoDB
/opt/my_kuroko2/db/migrate/20190411084473_create_script_revisions.kuroko2.rb:4:in `up'
/opt/my_kuroko2/bin/rails:9:in `require'
/opt/my_kuroko2/bin/rails:9:in `<top (required)>'
/opt/my_kuroko2/bin/spring:15:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'

Caused by:
Mysql2::Error: Cannot add foreign key constraint
/opt/my_kuroko2/db/migrate/20190411084473_create_script_revisions.kuroko2.rb:4:in `up'
/opt/my_kuroko2/bin/rails:9:in `require'
/opt/my_kuroko2/bin/rails:9:in `<top (required)>'
/opt/my_kuroko2/bin/spring:15:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)

Ruby: 2.3.0 Rails: 5.0.7.2 MySQL: 5.7.25 kuroko2: 0.5.0