Я пытаюсь добавить внешние ключи к уже существующим идентификаторам в таблице и запустить миграции следующим образом:
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» не имеет внешнего ключа для
Пожалуйста, помогите мне.