В настоящее время я работаю над новым приложением, основанным на существующей базе данных, используя DataMapper для доступа к данным. Однако его соглашения при работе с внешними ключами — это не то, что использует база данных.
Пример:
class Invoice
include DataMapper::Resource
storage_names[:default] = 'invoices'
property :id, Serial
# ... more properties ...
has n, :items
end
class Item
include DataMapper::Resource
storage_names[:default] = 'invoiceItems'
property :id, Serial
# ... more properties ...
belongs_to :invoice # this should use 'invoiceId' instead of 'invoice_id'
end
Есть ли способ, которым я могу заставить внешний ключ, используемый DataMapper, быть «invoiceId», а не «invoice_id», который он пытается использовать в данный момент (как указано в комментарии выше)? Я знаю, что это можно сделать с обычными полями, добавив :field => 'fieldName'
, но я не нашел такого способа для ассоциаций.