2013-02-13 15 views
5

से टाइमस्टैम्प फ़ील्ड को निकालने मैं डिफ़ॉल्ट जनरेटर का इस्तेमाल किया था कुछ तालिकाएं बनाने के लिए और वे सब था तो स्कीमा बनाया गया था कि उनकी परिभाषा t.timestamp भी created_at और खेतों updated_at है। अब मुझे बताया गया है कि मुझे अपनी स्कीमा में उन दो फ़ील्ड की आवश्यकता नहीं है, इसलिए मैं मूल create_table * फ़ाइलों पर गया और उनसे t.timestamp लाइन निकाली और db:migrate और schema:load आदेश पर आदेश दिया लेकिन फिर भी जब मैं अपने पास जाता हूं schema.rb फ़ाइल मैं देख सकता हूं कि वे अभी भी वहां हैं।स्कीमा

क्या कुछ गलत है जो मैं यहाँ कर रहा हूं?

उत्तर

13

भागो

rails g migration remove_timestamps_from_table created_at updated_at 
table अपने मॉडल का नाम होने के साथ

। चूंकि यह y से पैटर्न निकालें एक्स पीछा कर रहा है, रेल बहुत चालाक आपके लिए उपयुक्त प्रवास उत्पन्न करने के लिए है।

फिर अपने विकास डेटाबेस और

rake db:test:prepare 

अद्यतन करने के लिए परीक्षण डेटाबेस तैयार करने के लिए

rake db:migrate 

चलाने के लिए, और आप तैयार हैं!

माइग्रेशन here में अधिक पढ़ें। यदि आपको अभी भी समस्या हो रही है, तो अपने रेल सर्वर या डेटाबेस सर्वर को पुनरारंभ करने पर विचार करें।

+3

इसके अलावा, आप भी वापस जाने के लिए और परिवर्तन आप मूल माइग्रेशन के लिए बनाया आप माइग्रेशन आप पहले से ही समाप्त हो गया है संपादन नहीं किया जाना चाहिए, खासकर यदि आप उन्हें वापस पहले लुढ़का नहीं किया है के रूप में वापस लौटने के लिए चाहता हूँ। – Tomdarkness

+0

धन्यवाद @Tomdarkness! – weltschmerz