PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

रेल माइग्रेशन:कॉलम के प्रकार को स्ट्रिंग से पूर्णांक में बदलने की कोशिश की

मैं मैनुअल को ALTER TABLE . के बारे में उद्धृत करता हूं :

<ब्लॉकक्वॉट>

यदि पुराने से नए प्रकार में कोई निहित या असाइनमेंटकास्ट नहीं है, तो एक उपयोग खंड प्रदान किया जाना चाहिए।

आपको क्या चाहिए:

ALTER TABLE listings ALTER longitude TYPE integer USING longitude::int;
ALTER TABLE listings ALTER latitude  TYPE integer USING latitude::int;

या एक कमांड में छोटा और तेज़ (बड़ी टेबल के लिए):

ALTER TABLE listings ALTER longitude TYPE integer USING longitude::int
                    ,ALTER latitude  TYPE integer USING latitude::int;

यह डेटा के साथ या उसके बिना काम करता है जब तक सभी प्रविष्टियाँ integer . में परिवर्तनीय हैं .
यदि आपने एक DEFAULT परिभाषित किया है कॉलम के लिए, आपको इसे नए प्रकार के लिए छोड़ना और फिर से बनाना पड़ सकता है।

ActiveRecord के साथ इसे कैसे करें इस पर ब्लॉग आलेख यहां दिया गया है।
या टिप्पणी में @ एमयू की सलाह के साथ जाएं। वह अपनी रूबी जानता है। मैं यहाँ केवल PostgreSQL के साथ अच्छा हूँ।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL धीमा चल रहा है? स्रोत तक पहुंचने के लिए टिप्स और ट्रिक्स

  2. त्रुटि:"$libdir/plpython2" फ़ाइल तक नहीं पहुंच सका - त्रुटि:फ़ाइल "$libdir/plpython3" तक नहीं पहुंच सका

  3. आप पोस्टग्रेज / पोस्टग्रेएसक्यूएल टेबल और उसके इंडेक्स के डिस्क आकार को कैसे ढूंढते हैं?

  4. पोस्टग्रेज नहीं सरणी में

  5. सूची पोस्टग्रेज ENUM प्रकार