У меня есть модель User, и там у нас есть primary_key как user_id вместо id, я знаю, что должен использовать id для primary_key, но клиенты хотят, чтобы мы использовали user_id вместо Я бы.Как добавить ограничение внешнего ключа в rails, у которого нет идентификатора столбца
У меня есть другая таблица, и я должен связать эту таблицу с user_id
Я добавляю миграции, как это для другой таблицы:
t.references :user, index: true, foreign_key: true
Но когда я бег миграции я получаю ошибку, связанную для внешнего ключа, как:
ActiveRecord :: StatementInvalid: PG :: UndefinedColumn: ОШИБКА: колонка "ID" ссылка на ограничение внешнего ключа не существует ALTER TABLE "user_devices" ADD CONSTRAINT «fk_rails_e700a96 826" FOREIGN KEY („user_id“) ЛИТЕРАТУРЫ „пользователи“ („ID“)
кажется рельсы попробовать по умолчанию, чтобы указать другую таблицу с колонкой ид, но я user_id в таблице пользователей.
Так как я могу добавить ограничения внешнего ключа, как:
ALTER TABLE "user_devices" ADD CONSTRAINT "fk_rails_e700a96826"
FOREIGN KEY ("user_id")
REFERENCES "users" ("user_id")
с рельсов миграции?
Да, я получил решение, а на документ http://apidock.com/rails/ActiveRecord/ConnectionAdapters/SchemaStatements/add_foreign_key add_foreign_key: user_devices,: users, column:: user_id, primary_key:: user_id – Thorin