इस बारे में जाने का सबसे अच्छा तरीका क्या है। क्या माइग्रेशन में कुछ ऐसा है जो मैं कर सकता हूं? अग्रिम में धन्यवाद।रेल में प्राथमिक कुंजी के लिए प्रारंभिक मान सेट करना (यानी पहली ऑब्जेक्ट की आईडी 1 के बजाय 1000 है)
Q
रेल में प्राथमिक कुंजी के लिए प्रारंभिक मान सेट करना (यानी पहली ऑब्जेक्ट की आईडी 1 के बजाय 1000 है)
10
A
उत्तर
13
यह डेटाबेस विशिष्ट है। बस अपने प्रवास में निम्नलिखित की तरह कुछ करना:
class MyMigration < ActiveRecord::Migration
def self.up
create_table :my_table do |t|
# ...
end
execute "ALTER TABLE my_table AUTO_INCREMENT = 1000" # for MySQL
end
def self.down
# ...
end
end
या वास्तव में, और भी बेहतर, के रूप में बने द्वारा सुझाए गए:
def self.up
create_table :my_table, :options => "AUTO_INCREMENT = 1000" do |t|
# ...
end
end
डेटाबेस विशिष्ट माइग्रेशन को लेकर सतर्क है, हालांकि रहो! किसी भी एसक्यूएल का उपयोग करना जो आपके डेटाबेस के लिए विशिष्ट है, अन्य डेटाबेस के साथ संगतता तोड़ देगा और आम तौर पर एक अच्छा विचार नहीं है।
9
"विकल्प" विकल्प में पारित कोई भी स्ट्रिंग तालिका बनाता है जो SQL कथन के अंत में जोड़ा जाएगा। सर्वश्रेष्ठ प्रणालियां।
def self.up
create_table :my_table, :options => "AUTO_INCREMENT = 1000" do |t|
# ...
end
end
+0
यह स्क्लाइट और स्क्लेसर सर्वर पर काम नहीं कर रहा है – yossico
संबंधित मुद्दे
- 1. NSUserDefault कुंजी के लिए प्रारंभिक मान कैसे सेट करें?
- 2. 1000 से प्राथमिक कुंजी कैसे शुरू करें?
- 3. ऑटोइनक्रिकमेंट फ़ील्ड्स के लिए: आईडी (आईडी) बनाम आईडी 1 आईडी ऑर्डर आईडी आईडी
- 4. विदेशी कुंजी विशेषता के लिए डिफ़ॉल्ट मान सेट करना
- 5. रेल प्रवासन पर रूबी में प्राथमिक कुंजी कैसे सेट करें?
- 6. डीडीडी: प्राथमिक कुंजी (आईडी) और ओआरएम (उदाहरण के लिए, एनएचबीर्नेट)
- 7. प्राथमिक कुंजी (आईडी) को स्थिरता (पायथन, स्क्लाक्लेमी)
- 8. समग्र प्राथमिक कुंजी, विदेशी कुंजी। ऑब्जेक्ट या कुंजी का संदर्भ?
- 9. एसक्यूएल स्वैप प्राथमिक कुंजी मान
- 10. क्या रेडबीन को "आईडी" प्राथमिक कुंजी की आवश्यकता है?
- 11. रेल में प्राथमिक कुंजी के बिना मॉडल कैसे बनाएं
- 12. रेल माइग्रेशन तालिका प्राथमिक कुंजी
- 13. PostgreSQL कॉपी कमांड प्राथमिक कुंजी आईडी
- 14. Emacs में PHP के लिए प्रारंभिक इंडेंट स्तर सेट करना?
- 15. MongoDB में प्राथमिक कुंजी कैसे सेट करें?
- 16. प्राथमिक कुंजी के बिना हाइबरनेट
- 17. तालिका के लिए प्राथमिक कुंजी के लिए अद्वितीय यादृच्छिक पूर्णांक आईडी कैसे बनाएं?
- 18. क्या django-tastypie ऑब्जेक्ट कुंजी सेट करना संभव है?
- 19. एक समग्र प्राथमिक कुंजी नकली? रेल
- 20. समायोजित MySQL आईडी स्तंभ +1
- 21. हैश मैप (कुंजी: स्ट्रिंग, मान: ऐरेलिस्ट) ArrayList के बजाय ऑब्जेक्ट देता है?
- 22. बड़ी तालिकाओं के लिए MySQL प्राथमिक कुंजी कॉलम प्रकार
- 23. प्राथमिक कुंजी
- 24. प्राथमिक कुंजी एक और तालिका में विदेशी कुंजी की जरूरत नहीं है कि चयन
- 25. तालिका में प्राथमिक कुंजी के रूप में कॉलम सेट करें यदि तालिका में प्राथमिक कुंजी नहीं है
- 26. रेल में किसी तालिका में प्राथमिक कुंजी कैसे जोड़ें
- 27. MySQL InnoDB auto_increment मान 1 के बजाय 2 से बढ़ता है। वायरस?
- 28. प्राथमिक कुंजी
- 29. routes.rb, पथों के लिए एक अलग प्राथमिक कुंजी कैसे सेट करें?
- 30. प्राथमिक कुंजी
माइग्रेशन डेटाबेस स्वतंत्र होना चाहिए। क्या होगा यदि आप जिस डेटाबेस पर माइग्रेशन चला रहे हैं वह उस विकल्प का समर्थन नहीं करता है? निष्पादन शायद एक अपवाद उठाएगा। मैं सीधे डेटाबेस पर कमांड चलाऊंगा। बीटीडब्ल्यू, मैं समाधान से सहमत हूं। –
@weppos, इसे सीधे डेटाबेस पर चलाना आपको माइग्रेशन का लाभ लूट देगा, जिसका उपयोग अन्य डेटाबेस में आसानी से आपके डेटाबेस स्कीमा को पोर्ट करने के लिए किया जा सकता है। बेशक, एक अन्य विक्रेता से डेटाबेस में पोर्टिंग करने वाला दूसरा प्रमुख लाभ शून्य होगा। – molf
हाय मॉल्फ, आप AUTO_INCREMENT से पहले एक डबल कोट खो रहे हैं। –