hstore सरल कुंजी/मूल्य भंडारण के लिए अभिप्रेत है, जहां कुंजी और मान दोनों सरल असंरचित तार हैं। ठीक मैनुअल
से :
अंतिम वाक्य पर ध्यान दें:कुंजी और मान hstore . में तार हैं। इसका मतलब है कि आप एक hstore . में एक सरणी नहीं डाल सकते हैं सरणी को स्ट्रिंग से और में कनवर्ट करने के लिए कुछ हैंडहोल्डिंग के बिना मान और आप वास्तव में उस तरह की चीज़ों के साथ खिलवाड़ नहीं करना चाहते हैं।
हालांकि, एक JSON डेटा प्रकार है। उपलब्ध:
और JSON आसानी से एम्बेडेड सरणियों और वस्तुओं को संभाल सकता है। इसके बजाय JSON का उपयोग करके देखें:
add_column :users, :properties, :json
आपको पुराने hstore को हटाना होगा हालांकि पहले कॉलम।
साथ ही, आप array: true नहीं चाहते थे आपके hstore . पर कॉलम क्योंकि आप hstore . की एक सरणी संग्रहीत नहीं कर रहे थे s, आप बस उनमें से एक चाहते थे।