【Laravel 5.1】 外部キー制約をdown()する際にミスった部分

データエラー

vagrant@homestead:~/[プロジェクトへのパス]$ php artisan migrate:reset

                                                                                                                               
  [Illuminate\Database\QueryException]                                                                                         
  SQLSTATE[42000]: Syntax error or access violation: 1091 Can't DROP 'user_id'; check that column/key exists (SQL: alter tabl  
  e `posts` drop foreign key `user_id`)                                                                                        
                                                                                                                              

  [PDOException]                                                                                              
  SQLSTATE[42000]: Syntax error or access violation: 1091 Can't DROP 'user_id'; check that column/key exists

解決策

外部キーを削除するには、dropForeignメソッドを使用します。
他のインデックスで使用されるものと似た命名規則が、外部キーにも使用されています。
つまりテーブル名とカラム名をつなげ、"_foreign"を最後につけた名前になります。

$table->dropForeign('posts_user_id_foreign');

成功

vagrant@homestead:~/version3/modify_sns$ php artisan migrate:reset
Rolled back: 2019_12_10_141302_[マイグレーションファイル名]
Rolled back: 2019_12_03_142653_[マイグレーションファイル名]
Rolled back: 2019_11_22_024212_[マイグレーションファイル名]
Rolled back: 2014_10_12_100000_[マイグレーションファイル名]
Rolled back: 2014_10_12_000000_[マイグレーションファイル名]