Problémem (jak řekl @postashin) byly backticks.
Od Laravelu 5 (nejsem si jistý Laravelem 4) jste mohli udělat toto:
DB::statement('ALTER TABLE `users` MODIFY `age` DATETIME');
Ve skutečnosti jste ani nepotřebovali zadní klíšťata, protože nepotřebují útěk. Takže jsi mohl napsat:
DB::statement('ALTER TABLE users MODIFY age DATETIME');
Nepotřebujete to ani v uzávěrce, pokud právě provádíte příkaz databáze.
Nicméně lepší přístup k tomu, co děláte, je následující:
Schema::table('users', function(Blueprint $table) {
$table->dateTime('age')->change();
});
Všimněte si, že poslední řešení může někdy způsobit chybu kvůli chybě v Doctrine, která se obvykle vyskytuje, pokud máte v tabulce výčet (nejen sloupec, který měníte).
Další informace naleznete v části Migrace databáze Laravel – sloupec úprav