Удалить суффикс _id из миграции внешнего ключа - PullRequest
1 голос
/ 28 апреля 2019

Я пытаюсь добавить внешний ключ через миграцию. Он работает, как и ожидалось, но автоматически добавляет _id в конец (имя столбца, на которое я хочу сослаться, не включает _id). Как я могу сделать так, чтобы он ссылался на имя столбца, как я его дал?

Вот миграция

class ChangeRefOnMemberPresentations < ActiveRecord::Migration[5.2]
  def change
    add_reference :member_presentations, 'employee_number', foreign_key: { to_table: :users }
  end
end

Это приводит к тому, что имя справочного столбца и столбец внешнего ключа называются employee_number_id в schema.rb

1 Ответ

1 голос
/ 28 апреля 2019

Следующее работает, определяя все вручную, но кажется грязным.Если есть лучший ответ по миграции, я буду рад принять.

def change
  # column was added in another migration, but including for completness
  add_column :member_presentations, :employee_number, :bigint
  add_index :member_presentations, :employee_number, name: "index_member_presentations_on_employee_number"
  add_foreign_key :member_presentations, :users, column: "employee_number"
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...