2011-07-26 17 views
9

कॉलम बदलें क्या कोई मुझे दिखा सकता है कि :phone स्ट्रिंग के पूर्णांक को बदलने के लिए निम्न माइग्रेशन को कैसे संपादित करें?माइग्रेशन: पूर्णांक से स्ट्रिंग

class CreateContactInfos < ActiveRecord::Migration 
    def change 
    create_table :contact_infos do |t| 
     t.integer :phone 
     t.string :facebook 
     t.references :user 

     t.timestamps 
    end 
    add_index :contact_infos, :user_id 
    end 
end 

अग्रिम धन्यवाद!

उत्तर

20

मुझे लगता है कि आप पहले से ही एक आप दिखा रहे हैं चले गए, तो एक और बनाने है जिसमें आप डाल चाहते हैं:

change_column :contact_infos, :phone, :string 
+0

धन्यवाद, फिर भी: डी – imjp

+10

'स्ट्रिंग' होना चाहिए, नहीं 'टेक्स्ट' जो 255 वर्णों से अधिक पाठ के लिए है, जब तक कि आप वास्तव में लंबे फ़ोन नंबरों को संग्रहीत करने की योजना नहीं बनाते। – tmandry

1

मैं एक नया माइग्रेशन उत्पन्न करने के लिए this.We जरूरत के लिए कुछ और स्पष्टीकरण जोड़ लिया है

rails g migration change_phone_to_be_string_in_contact_infos

अगर हम प्रवास को खोलने हम इस

class ChangePhoneToBeStringInContactInfos < ActiveRecord::Migration[5.0] 
def change 
end 
end 
की तरह कुछ देखना चाहिए

हम इस माइग्रेशन को क्या कहते हैं, इस पर कोई असर नहीं पड़ेगा कि हमें आगे क्या करना है, लेकिन भविष्य में हम और अन्य डेवलपर्स हमारे प्रवासन को उचित रूप से नाम देने के लिए धन्यवाद देंगे।

जैसा कि आप देख सकते हैं कि परिवर्तन विधि खाली बैठी है। हमें यहां कुछ कोड मैन्युअल रूप से जोड़ने की आवश्यकता है।

class ChangePhoneToBeStringInContactInfos < ActiveRecord::Migration[5.0] 
def change 
    change_column :customers, :phone, :string 
end 
end 

इस फ़ाइल को सहेजने के बाद बस रेक डीबी करें: माइग्रेट करें हम परिवर्तनों को देख सकते हैं।

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