मैं मैनुअल को 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 के साथ अच्छा हूँ।