Я видел, как многие люди пишут миграции без определения ограничений внешнего ключа, включая Джеффри Уэй в его видео . Например,
Schema::create('post',function(Blueprint $table){
$table->id();
$table->integer('user_id')->index();
$table->text('body');
//
});
Здесь нет ограничения внешнего ключа, определенного следующим образом:
$table->foreign('user_id')->references('id')->on('users');
Я всегда определяю внешний ключ, потому что именно так вы поддерживаете отношения и целостность между таблицами. Но я видел много видео, где не определяется внешний ключ. Есть ли какая-то конкретная c причина?