मुद्दा (जैसा कि @postashin ने कहा) बैकटिक्स था।
Laravel 5 (लारवेल 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();
});
ध्यान दें कि अंतिम समाधान कभी-कभी सिद्धांत में एक बग के कारण एक त्रुटि उत्पन्न कर सकता है, जो आमतौर पर तब होता है जब आपके पास तालिका में एक एनम होता है (न कि केवल वह कॉलम जिसे आप बदल रहे हैं)।
अधिक जानकारी के लिए, लारावेल डेटाबेस माइग्रेशन - संशोधित कॉलम देखें।