Я бы не сказал, что они обескуражены, по сути. Как в CakePHP, так и в Rails целостность данных, которую предлагают внешние ключи, обрабатывается платформой. Тем не менее, это правда, только если вы делаете все «правильно». Если вы пишете свой собственный SQL, работаете нестандартным образом или обращаетесь к данным / манипулируете ими любыми другими способами, то, на мой взгляд, внешние ключи, безусловно, хорошая идея.
Я никогда не использовал инструменты миграции для CakePHP, но в моей ограниченной работе с Rails я всегда применял ключи в миграции с использованием SQL. Таким образом, вы получаете все преимущества обоих. У вас есть миграция, и вы получаете ограничения домена в случае, если вы когда-нибудь обойдете инфраструктуру для достижения какого-то определенного результата.