जब आप rails db:migrate:reset
run चलाते हैं rails db:reset
. के विपरीत , डेटाबेस स्कीमा schema.rb
. से लोड नहीं होता है लेकिन इसके बजाय आपके सभी माइग्रेशन से पुनर्निर्माण किया गया है। माइग्रेशन और स्कीमा फ़ाइलों में आपको id
. निर्दिष्ट करने की आवश्यकता नहीं होती है फ़ील्ड, एक डिफ़ॉल्ट रूप से प्रदान किया जाता है। हालांकि, रेल 5.1 से शुरू होकर, आईडी फ़ील्ड का डिफ़ॉल्ट आकार बढ़ा दिया गया
INT
. से करने के लिए BIGINT
MySQL के लिए और SERIAL
. से करने के लिए BIGSERIAL
पोस्टग्रेएसक्यूएल के लिए। तो संभवत:आपके माइग्रेशन के बीच कुछ अंतःक्रिया है, schema.rb
, और डेटाबेस में वास्तविक स्कीमा जिसके कारण कुछ मामलों में आईडी फ़ील्ड को डिफ़ॉल्ट (और छोड़ा गया) माना जाता है और केवल डिफ़ॉल्ट आकार में परिवर्तन के कारण दूसरों में स्पष्ट रूप से निर्दिष्ट किया जाता है। सभी प्रासंगिक फाइलों को देखे बिना समस्या के स्रोत का अनुमान लगाना कठिन है।