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

Laravel . में माइग्रेशन में मौजूदा तालिका में नए कॉलम जोड़ें

यदि आप त्रुटि ट्रेस की जांच करते हैं:

इसका मतलब है कि उपयोगकर्ता तालिका पहले से मौजूद है, इसलिए जब आप अपना माइग्रेशन चलाते हैं तो यह आपके डेटाबेस में पहले से बनाई गई तालिका बनाने का प्रयास कर रहा है।

नोट: पहले अपने डेटाबेस का बैकअप लेना न भूलें

उपयोगकर्ता तालिका हटाएं डेटाबेस से माइग्रेशन . से उपयोगकर्ता प्रविष्टियां भी हटा दें टेबल।

इसके बाद, माइग्रेट आर्टिसन कमांड निष्पादित करें:php artisan migrate

अब आपका एक और प्रश्न है:मेरी मौजूदा तालिका में नए कॉलम कैसे जोड़ें?

आपको इस कमांड का उपयोग करके एक टेबल बनानी होगी:

php artisan make:migration create_users_table

आपको यह आउटपुट इस तरह मिला:माइग्रेशन बनाया गया:2019_04_12_070152_create_users_table

आपकी प्रवासन संरचना कुछ इस प्रकार है:

public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

अब आप अपनी मौजूदा उपयोगकर्ता तालिका में नए कॉलम जोड़ना चाहते हैं

php artisan make:migration add_phone_number_to_users_table --table=users

Schema::table() का उपयोग करें विधि (जैसा कि आप एक मौजूदा तालिका तक पहुँच रहे हैं, एक नया नहीं बना रहे हैं)। और आप इस तरह एक कॉलम जोड़ सकते हैं:

public function up()
{
     Schema::table('users', function (Blueprint $table) {
         $table->string('phonenumber')->after('name'); // use this for field after specific column.
     });
}

/**
 * Reverse the migrations.
 *
 * @return void
 */
public function down()
{
    Schema::table('users', function (Blueprint $table) {
        $table->dropColumn('phonenumber');
    });
}

इसके बाद, आप अपना माइग्रेशन चला सकते हैं:php artisan migrate

आपके नए कॉलम (phonenumber ) अब आपकी मौजूदा उपयोगकर्ता तालिका . में जोड़ दी गई हैं , जिसे आप अपने डेटाबेस में देख सकते हैं।

यदि आपको अभी भी कोई संदेह है, तो यह वीडियो देखें



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 24-घंटे के स्वरूपित समय को दशमलव संख्या में बदलें

  2. MySQL मल्टीपल WHERE और/या कंडीशन लॉजिक

  3. MySQL में वर्तमान दिनांक + 30 दिनों के रूप में डिफ़ॉल्ट मान सम्मिलित करना

  4. SQL समूह द्वारा और न्यूनतम (MySQL)

  5. MySQL में टेक्स्ट कॉलम का डिफ़ॉल्ट मान क्यों नहीं हो सकता है?