2016-10-08 13 views
7

मैं लार्वेल 5.2 का उपयोग कर रहा हूं और मैं आमतौर पर परियोजना आवश्यकताओं के अनुसार अपना डेटाबेस अपडेट करता हूं, इसलिए मैं डेटाबेस रिकॉर्ड खोने के बिना ऐसा करना चाहता हूं। मेरा मतलब यह नहीं है कि मेरे डेटाबेस को कैसे बीज करें .. मेरा मतलब है कि मेरा डेटाबेस लाइव है और मैं इसे अद्यतन करना चाहता हूं, यह लार्वेल प्रवासन को फेंक दें। मैं फेंक Laravel Documentation जा रहा था, लेकिन मैं कुछ भी नहीं मिला है, इसलिए मैं किसी को मेरी मददLaravel 5.2 डेटा खोने के बिना प्रवासन को अपडेट करने के लिए कैसे करें

उत्तर

13

खोजने के लिए आशा है कि जब से तुम पहले से ही अपने टेबलों में डेटा तो बजाय अपने माइग्रेशन रोलबैक (जो डेटा हानि का कारण होगा) से आपको अवगत करवाने नया माइग्रेशन बनाने आपकी टेबल मान लें कि आपके पास users कॉलम name, email, password के साथ एक तालिका है। आपने टेबल में डेटा संग्रहीत किया है। फिर आप महसूस करते हैं कि आपको अपने उपयोगकर्ता तालिका में mobile_no नामक एक नया कॉलम जोड़ने की आवश्यकता है। ऐसा करने के लिए आपको एक नई माइग्रेशन फ़ाइल बनाने की आवश्यकता है। कमांड होगा:

php artisan make:migration add_mobile_no_columns_to_users_table --table=users 

इस तरह एक नई माइग्रेशन फ़ाइल बनाई जाएगी। वहां अपना कॉलम विवरण सेट करें, php artisan migrate का उपयोग करके माइग्रेशन चलाएं और यह सब कुछ है। आपके पास पहले से संग्रहीत डेटा खोए बिना आपके users तालिका में यह नया कॉलम होगा।

+0

बहुत बहुत धन्यवाद, यह आसानी से काम करता है। क्या मैं तालिका संबंधों को अपडेट करते समय उसी तरह उपयोग कर सकता हूं? –

+0

हां आप कर सकते हैं। अंतर संबंधों को अद्यतन करना थोड़ा अलग है। इंडेक्स के साथ पहले ही घोषित विदेशी कुंजी के लिए आपको इंडेक्स ड्रॉप करना होगा, विदेशी कुंजी नाम ड्रॉप करना होगा और फिर कॉलम ड्रॉप करना होगा। जब तक यह त्रुटि उत्पन्न नहीं कर सकता है। आप https://laravel.com/docs/5.3/migrations#indexes –

+0

पर अधिक जानकारी प्राप्त कर सकते हैं धन्यवाद @ महफुज़ुल आलम –

संबंधित मुद्दे