Id (автоинкрементное целое число) против строкового идентификатора сотрудника в качестве первичного ключа - приложение rails - PullRequest
0 голосов
/ 05 ноября 2010

Я пишу свое первое рельсовое приложение и хочу с самого начала приобрести хорошие привычки.Рассматриваемая таблица должна содержать данные о сотрудниках, одним из полей которых является идентификатор менеджера.Чтобы отразить иерархическую структуру, я подумываю использовать act_as_tree, поэтому parent_id будет полем id менеджера (верно?).Если мы хотим использовать (импортировать) данные из нашего существующего HR-приложения - PeopleSoft - идентификатор сотрудника является строкой.Идентификатор сотрудника, по-видимому, имеет наибольшее значение как ПК (исходя из точки зрения разработчика PeopleSoft, я понимаю, что могу быть предвзятым и / или не вижу всех возможностей - я также приветствую предложения по этому вопросу)Я знаю, что одной из философий, стоящих за рельсами, является «соглашение о конфигурации», поэтому я хотел бы использовать значения по умолчанию - PK является автоинкрементным целым числом.Имеет ли смысл в этом случае создать «справочную таблицу» или что-то еще, чтобы сохранить использование / связь идентификатора, поступающего от PS?Будут отчеты / экспорты, возвращающиеся в мир PS ....

Спасибо

1 Ответ

0 голосов
/ 05 ноября 2010

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

...