Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

माइग्रेशन में रॉ SQL चलाएँ

मुद्दा (जैसा कि @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();
});

ध्यान दें कि अंतिम समाधान कभी-कभी सिद्धांत में एक बग के कारण एक त्रुटि उत्पन्न कर सकता है, जो आमतौर पर तब होता है जब आपके पास तालिका में एक एनम होता है (न कि केवल वह कॉलम जिसे आप बदल रहे हैं)।

अधिक जानकारी के लिए, लारावेल डेटाबेस माइग्रेशन - संशोधित कॉलम देखें।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. यूनियन क्वेरी पर गिनती कैसे करें

  2. Mysql जैसे बड़े क्वेरी वैरिएबल सेट करना

  3. ASP.NET/पहचान त्रुटि:इकाई प्रकार ApplicationUser वर्तमान संदर्भ के लिए मॉडल का हिस्सा नहीं है

  4. Django mysqlclient स्थापित करें

  5. क्रोंटैब/क्रोन के साथ MySQL डेटाबेस को स्वचालित रूप से जांचें और अनुकूलित करें