आप जैसे पाठक MUO का समर्थन करने में मदद करते हैं। जब आप हमारी साइट पर लिंक का उपयोग करके खरीदारी करते हैं, तो हम संबद्ध कमीशन अर्जित कर सकते हैं। और पढ़ें।

Postgres अपनी कई विशेषताओं और उपयोग में आसानी के कारण लोकप्रिय SQL डेटाबेस में से एक है। पोस्टग्रेज़ एसीआईडी-अनुपालन है जिसमें मल्टी-वर्जन कंकरेंसी कंट्रोल, एसिंक्स प्रतिकृति, नेस्टेड लेनदेन और राइट-फॉरवर्ड लॉगिंग जैसी विशेषताएं हैं। कई अन्य सुविधाओं के साथ, ये सुविधाएँ Postgres को गो-टू SQL डेटाबेस प्रबंधन प्रणाली बनाती हैं।

पोस्टग्रेज सहित विभिन्न डीबीएमएस के साथ बातचीत करने के लिए गो इकोसिस्टम कई पैकेजों का घर है। गो बिल्ट-इन प्रदान करता है डेटाबेस/एसक्यूएल डेटाबेस ड्राइवरों का उपयोग करके SQL डेटाबेस के साथ काम करने के लिए पैकेज। गो डेटा संरचनाओं का उपयोग करके, आप अपने डेटाबेस के साथ आसान बातचीत के लिए GORM जैसे लोकप्रिय तृतीय-पक्ष ORM को एकीकृत कर सकते हैं।

GORM और पोस्टग्रेज के साथ शुरुआत करना

जीओआरएम पैकेज गो इकोसिस्टम में सबसे लोकप्रिय ओआरएम में से एक है क्योंकि यह डेवलपर के अनुकूल, सुविधा संपन्न है और इसे बनाता है डेटाबेस/एसक्यूएल पैकेट.

instagram viewer

GORM ऑटो माइग्रेशन, लॉगिंग, तैयार किए गए स्टेटमेंट, लेनदेन और शार्डिंग के लिए कार्यक्षमता प्रदान करता है। पैकेज स्ट्रक्चर्स और अन्य अंतर्निर्मित डेटा प्रकारों का उपयोग करके कोड-प्रथम दृष्टिकोण लेता है।

अपने प्रोजेक्ट की निर्भरता में GORM पैकेज जोड़ने के लिए इस टर्मिनल कमांड को अपनी कार्यशील निर्देशिका में चलाएँ:

जाना gorm.io/gorm\n प्राप्त करें

GORM पैकेज पर कार्य करने के लिए आपको एक डेटाबेस ड्राइवर की आवश्यकता होगी। GORM लोकप्रिय DBMS के लिए डेटाबेस ड्राइवर प्रदान करता है। GORM को स्थापित करने के लिए इस आदेश को अपनी कार्यशील निर्देशिका में चलाएँ postgres चालक:

जाना gorm.io/driver/postgres\n प्राप्त करें

GORM का उपयोग करके पोस्टग्रेज को गो के साथ जोड़ना

ORM और डेटाबेस ड्राइवर के साथ काम करने के लिए इन पैकेजों को अपनी Go फ़ाइल में आयात करें। आप उपयोग करेंगे लकड़ी का लट्ठा पैकेज आपके कंसोल में त्रुटियों को लॉग करने के लिए और fmt आउटपुट प्रिंट करने के लिए पैकेज।

आयात (\एन "एफएमटी"\एन "gorm.io/driver/postgres"\एन "gorm.io/gorm"\एन "लकड़ी का लट्ठा"\n)\n

आपको अपने से कनेक्ट करने के लिए एक कनेक्शन स्ट्रिंग की आवश्यकता होगी पोस्टग्रेज डेटाबेस चल रहे वातावरण में। आप कनेक्शन स्ट्रिंग बनाने वाले फ़ील्ड के लिए मॉडल के रूप में एक संरचना का उपयोग कर सकते हैं। एक संरचना का उपयोग करना विभिन्न मूल्यों को बदलना और परीक्षण करना आसान बनाता है, विशेष रूप से निर्भरता इंजेक्शन के मामलों में।

कनेक्शन स्ट्रिंग बनाने वाले क्षेत्रों के लिए यहां एक उदाहरण संरचना मॉडल है:

प्रकार कॉन्फ़िग struct {\n मेजबान डोरी\n बंदरगाह डोरी\n पासवर्ड डोरी\n उपयोगकर्ता डोरी\n डीबीनाम डोरी\n एसएसएल मोड डोरी\n}\n

नीचे आपके डेटाबेस कनेक्शन के लिए एक विशिष्ट कार्य है। यह कनेक्शन स्थिति और कनेक्शन स्थिति के आधार पर एक त्रुटि देता है।

समारोहनया कनेक्शन()(* गोर्म। डीबी, त्रुटि) {\एन वापस करना डीबी, शून्य\n}\n

आप कनेक्शन स्ट्रक्चर मॉडल को तुरंत चालू कर सकते हैं और अपने पोस्टग्रेज डेटाबेस में मानों के साथ फ़ील्ड भर सकते हैं।

 कॉन्फ़िगरेशन: = कॉन्फ़िगरेशन {\n होस्ट: "डेटाबेस_होस्ट",\n पोर्ट: "डेटाबेस_पोर्ट",\n पासवर्ड: "डेटाबेस_पासवर्ड",\n उपयोगकर्ता: "डेटाबेस_उपयोगकर्ता",\n डीबीनाम: "डेटाबेस का नाम",\n एसएसएलमोड: "असत्य",\n }\n डीएसएन := fmt. स्प्रिंटफ("होस्ट =% s पोर्ट =% s उपयोगकर्ता =% s पासवर्ड =% s dbname =% s sslmode =% s", विन्यास। होस्ट, कॉन्फ़िगरेशन। बंदरगाह, विन्यास। उपयोगकर्ता, विन्यास। पासवर्ड, विन्यास। डीबीनाम, कॉन्फ़िगरेशन। एसएसएलमोड)\n

dsn चर का उपयोग करता है स्प्रिंटफ स्वरूपण विधि और जाओ स्ट्रिंग स्वरूपण क्रिया के क्षेत्रों को जोड़ने के लिए कॉन्फ़िग Postgres कनेक्शन स्ट्रिंग को स्ट्रक्चर और सेट करें।

आप GORM का उपयोग करके डेटाबेस कनेक्शन खोल सकते हैं खुला तरीका। खुला विधि एक डेटाबेस ड्राइवर से एक खुला कनेक्शन लेती है और वैकल्पिक कॉन्फ़िगरेशन की एक सूची से कॉन्फ़िग GORM पैकेज का प्रकार। यह एक कनेक्शन उदाहरण और एक वैकल्पिक त्रुटि देता है।

 डीबी, गलती: = gorm. ओपन (पोस्टग्रेज। ओपन (डीएसएन), और गोर्म। कॉन्फिग{})\n अगर गलती! = शून्य {\एन वापस करना डीबी, गलती\n}\n

कनेक्शन स्थिति सत्यापित करने के लिए डेटाबेस को पिंग करना

आप एक फ़ंक्शन के साथ स्वास्थ्य/ऑनलाइन स्थिति को सत्यापित करने के लिए अपने डेटाबेस को पिंग कर सकते हैं जो डेटाबेस कनेक्शन अमान्य होने पर बूलियन परिणाम या त्रुटि देता है।

समारोहपिंगडीबी()(बूल, गलती) {\n \n वापस करनासत्य, शून्य\n}\n

डेटाबेस को पिंग करने के लिए आपको एक नया कनेक्शन इंस्टेंस बनाना होगा। यहाँ का उपयोग कर एक उदाहरण दिया गया है नया कनेक्शन कनेक्शन उदाहरण बनाने के लिए कार्य करें:

 कनेक्शन इंस्टेंस, त्रुटि: = न्यूकनेक्शन () \ n अगर गलती! = शून्य {\n लॉग. फैटलफ("डेटाबेस कनेक्शन विफल% v", गलती। त्रुटि ())\n}\n

एक बार जब आप एक कनेक्शन उदाहरण प्राप्त कर लेते हैं, तो इसके साथ एक डेटाबेस उदाहरण बनाएँ डाटाबेस कनेक्शन की विधि।

 डीबी कनेक्शन, त्रुटि: = कनेक्शन इंस्टेंस। डीबी()\n अगर गलती! = शून्य {\एन वापस करनाअसत्य, गलती\n} \n

आप डेटाबेस को पिंग कर सकते हैं गुनगुनाहट डेटाबेस उदाहरण की विधि। गुनगुनाहट विधि कोई त्रुटि देता है या शून्य अगर कनेक्शन सफल रहा।

\n त्रुटि = dbConnection. पिंग()\n अगर गलती! = शून्य {\एन वापस करनाअसत्य, गलती\n } अन्य {\n \n एफएमटी। प्रिंटलन("कनेक्शन सफल रहा")\n }\n

एक सफल रन का परिणाम इसके समान आउटपुट में होना चाहिए:

आप गो में SQL डेटाबेस के साथ काम करने के लिए डेटाबेस/एसक्यूएल पैकेज का उपयोग कर सकते हैं

डेटाबेस/एसक्यूएल पैकेज विस्तार योग्य है, और चूंकि अधिकांश गो डेटाबेस पैकेज और ड्राइवर पैकेज का विस्तार करते हैं, आप ओआरएम चुनने के बजाय अपनी परियोजनाओं में पैकेज का उपयोग कर सकते हैं।

GORM कच्चे SQL के निर्माण के लिए SQL बिल्डर भी प्रदान करता है, जो असमर्थित संचालन के लिए सहायक है।