問題は(@postashinが言ったように)バックティックでした。
Laravel 5(Laravel 4についてはよくわかりません)の時点で、これを行うことができたはずです:
DB::statement('ALTER TABLE `users` MODIFY `age` DATETIME');
実際、バックティックはエスケープする必要がないため、バックティックも必要ありませんでした。だからあなたはちょうど書いたかもしれません:
DB::statement('ALTER TABLE users MODIFY age DATETIME');
データベースステートメントを実行しているだけの場合も、クロージャでこれは必要ありません。
ただし、実行していることに対するより良いアプローチは次のとおりです。
Schema::table('users', function(Blueprint $table) {
$table->dateTime('age')->change();
});
最後の解決策では、Doctrineのバグが原因でエラーが発生する場合があることに注意してください。これは通常、テーブルに列挙型がある場合に発生します(変更する列だけではありません)。
詳細については、Laravelデータベースの移行-列の変更 を参照してください。