StandardError: Произошла ошибка, все последующие миграции отменены: Ошибка миграции Rails для удаления внешних ключей - PullRequest
0 голосов
/ 24 октября 2018

Я пытаюсь добавить внешние ключи к уже существующим идентификаторам в таблице и запустить миграции следующим образом:

rails g migration AddForeignKeysRefToQuotes

Я открыл файл миграции и добавил:

class AddForeignKeysRefToQuotes < ActiveRecord::Migration[5.2]
  def change
    add_foreign_key :quotes, :groups,name: "index_quotes_on_group_id"
    add_foreign_key :quotes, :users, column: :created_by_id, name: "index_quotes_on_created_by_id"
    add_foreign_key :quotes, :template, column: :work_template_id, name: "index_quotes_on_work_template_id"
  end
end

ВВ приведенном выше файле я добавил неверное имя таблицы для work_template_id, поэтому при запуске

rake db: migrate он выдал ошибку, но оставшиеся столбцы group_id и creation_by_id созданы, кроме третьего.Я не смог найти файл, но я вижу внешние ключи в Schema.rb и mysql.

Я попытался запустить rails g migration RemoveForeignKeysRefFromQuotes и добавил следующее при удалении миграции как:

class RemoveForeignKeysReFromQuotes < ActiveRecord::Migration[5.2]
  def change
    remove_foreign_key :quotes, :groups, name: :index_quotes_on_group_id
    remove_foreign_key :quotes, :users, column: :created_by_id, name: :index_quotes_on_created_by_id
  end
end

но я получаю сообщение об ошибке:

== 20181024060431 RemoveForeignKeysReFromQuotes: миграция ==================== - remove_foreign_key (:группы) рельсы прерваны!StandardError: Произошла ошибка, все последующие миграции отменены:

Таблица «groups» не имеет внешнего ключа для

Пожалуйста, помогите мне.

...