Как стать автором
Обновить

Комментарии 8

а зачем тогда табличка words?
это больше похоже на value-object
Не совсем. Таблица содержит допустимые значения + некоторые характеристики, вроде частоты употребления. Идея в том, чтобы при парсинге текстов отфильтровывать всё лишнее, кроме нужных мне слов.
Вообще, при работе с Рельсами лучшее, что можно сделать — это не плевать против ветра.

С нестандартными первичными ключами в последствии могут вылазить всевозможные косяки, которые придется так же героически преодолевать. Например при написании миграций для таких таблиц.

Не говоря уже о сторонних гемах, которые вполне могут принимать за должное то, что ключ интовый, а не строковой.
Вообще, в rails 4.2 на PostgreSQL уже хорошо поддерживаются первичные ключи типа UUID. Надо только в миграциях не забывать прописывать add_reference :table, :attr, type: :uuid для внешних ключей. Проблем пока не возникает.
Да особо ничего героического не нужно. Я много раз менял и primary_key, и виды подкладывал вместо таблиц, что-то в редких случаях, конечно, ругалось, но решалось все довольно быстро.

А неповортливые гемы-расширения ActiveRecord надо сразу отправлять в утиль, иначе рано или поздно из всплывут еще какие-нибудь какашки.
То есть теперь вместо ключа-цифры вы в каждой связной таблице храните само слово? Как это сказывается на кол-ве хранимой информации, скорости доступа к данным?
О возможности переопределения primary key написано прям в официальной документации по ActiveRecord, если я не ошибаюсь. Ну и зачем эта статья?
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Публикации

Истории