Насколько я понимаю, запись Actice основана на шаблоне объектно-реляционного отображения (ORM), описанном Мартином Фаулером в его книге «Шаблон архитектуры корпоративных приложений» (Addison-Wesley, 2002);в котором говорится, что существует однозначное соответствие между записью базы данных и объектом, который представляет ее в объектно-ориентированной программе (ООП).Когда создатель Rails Дэвид Хайнемайер (David Heinemeier) пытался внедрить ORM для своей платформы Rails, он основывал его на паттерне Фаулера.
Вот в чем проблема: назначает ли ActiveRecord суррогатный первичный ключ каждой таблице, используя соглашение об именах «ID»и если да, то почему?Причина, по которой я спрашиваю, заключается в том, что представляется более целесообразным назначить суррогатный первичный ключ, используя соглашение об именах "tablename_ID";как на самом деле кажется ActiveRecord делает при создании внешних ключей.Кроме того, возможно ли переопределить конфигурацию по умолчанию и назначить суррогатный первичный ключ, используя соглашение об именах "tablename_ID";Причина в том, что, особенно в случае первичных ключей, представляется хорошей идеей не использовать общее имя, поскольку различие между идентификаторами двух столбцов невозможно, если просто посмотреть на имена столбцов: ID, ID, ID.В качестве примера использования, где это появляется, будет проблема, если я экспортирую данные в одну таблицу из двух таблиц, будет два столбца с именем ID;когда я импортирую этот документ с обновлениями, может показаться, что по умолчанию невозможно сопоставить столбцы идентификаторов.