У меня есть две модели в приложении rails, одна с первичным ключом UUID:
class User < ActiveRecord::Base
belongs_to :country, :foreign_key => 'country_uuid'
end
class Country < ActiveRecord::Base
set_primary_key :uuid
has_many :users
end
Когда я пытаюсь что-то подобное:
<% @user = User.find :first, :include => [:country] %>
<%= @user.country.name %>
У меня хороший результат,но я вижу 2 запроса в файле журнала.Почему активная загрузка не работает, когда мы меняем ключ идентификатора для ключа UUID?
User Load (0.4ms) SELECT `users`.* FROM `users` LIMIT 1
Country Load (0.4ms) SELECT `countries`.* FROM `countries` WHERE (`countries`.`uuid` = '1')
И у меня будет что-то вроде:
User Load (0.4ms) SELECT `users`.* FROM `users` INNER JOIN countries ON countries.uuid = users.country_uuid LIMIT 1
Есть ли обходной путь?Если я изменю ключ uuid на ключ id, но сохраню формат строки для хранения uuid, все будет в порядке?
Спасибо,