Comments 8
а зачем тогда табличка words?
0
Вообще, при работе с Рельсами лучшее, что можно сделать — это не плевать против ветра.
С нестандартными первичными ключами в последствии могут вылазить всевозможные косяки, которые придется так же героически преодолевать. Например при написании миграций для таких таблиц.
Не говоря уже о сторонних гемах, которые вполне могут принимать за должное то, что ключ интовый, а не строковой.
С нестандартными первичными ключами в последствии могут вылазить всевозможные косяки, которые придется так же героически преодолевать. Например при написании миграций для таких таблиц.
Не говоря уже о сторонних гемах, которые вполне могут принимать за должное то, что ключ интовый, а не строковой.
+2
Вообще, в rails 4.2 на PostgreSQL уже хорошо поддерживаются первичные ключи типа UUID. Надо только в миграциях не забывать прописывать add_reference :table, :attr, type: :uuid для внешних ключей. Проблем пока не возникает.
0
Да особо ничего героического не нужно. Я много раз менял и primary_key, и виды подкладывал вместо таблиц, что-то в редких случаях, конечно, ругалось, но решалось все довольно быстро.
А неповортливые гемы-расширения ActiveRecord надо сразу отправлять в утиль, иначе рано или поздно из всплывут еще какие-нибудь какашки.
А неповортливые гемы-расширения ActiveRecord надо сразу отправлять в утиль, иначе рано или поздно из всплывут еще какие-нибудь какашки.
0
То есть теперь вместо ключа-цифры вы в каждой связной таблице храните само слово? Как это сказывается на кол-ве хранимой информации, скорости доступа к данным?
+1
О возможности переопределения primary key написано прям в официальной документации по ActiveRecord, если я не ошибаюсь. Ну и зачем эта статья?
+2
Sign up to leave a comment.
Переопределяем первичный ключ в Ruby on Rails