यदि आप इसकी सभी विशेषताओं जैसे का उपयोग करना चाहते हैं, तो Django को अंतर्निहित डेटाबेस तक पूर्ण पहुंच की आवश्यकता है। पलायन . इसलिए दस्तावेज़ों में सभी विशेषाधिकार प्रदान करने की अनुशंसा की जाती है।
ऐसे उपयोग मामले हैं जिनमें आप पहुंच को प्रतिबंधित करना चाहेंगे - उदा। यदि आपके पास एक अप्रबंधित स्कीमा है, जिसे अन्य ऐप्स के साथ साझा किया गया है। लेकिन ये काफी खास है. वे विषय डॉक्स द्वारा कवर नहीं किए गए हैं और डीबीए के रूप में आपके लिए छोड़ दिए गए हैं।
यदि आप जानते हैं कि आपके django को किन विशेषाधिकारों की आवश्यकता है - बस उन्हें अपनी पसंद के अनुसार प्रदान करें।
यदि आप नहीं जानते कि किन विशेषाधिकारों की आवश्यकता है, तो निम्न प्रक्रिया का उपयोग करें:
- एक पूर्ण स्वीकृत उपयोगकर्ता का उपयोग करके अपने प्रोजेक्ट को विकास के संदर्भ में सेट करें।
- नया उपयोगकर्ता बनाएं, और कोई अनुमति न दें
- उस उपयोगकर्ता का उपयोग करने के लिए अपना django स्विच करें
- अपना एप्लिकेशन शुरू करें इसकी सुविधाओं का उपयोग करें और SQL त्रुटियों की प्रतीक्षा करें।
- आवश्यक अनुमतियां प्रदान करें
चरण 4 और 5 दोहराएं। जब तक सब कुछ काम करता है - सभी अनुदानों को एक एसक्यूएल फ़ाइल में लिखें, ताकि बाद में इसे पुन:उत्पन्न करने में सक्षम हो। बेशक, यदि आप पहले से ही जानते हैं कि इसकी आवश्यकता है, तो आप सामने सामान देकर प्रक्रिया को तेज कर सकते हैं।
आपको सबसे अधिक आवश्यकता होगी
SELECT
लगभग किसी भी मामले मेंINSERT
यदि उपयोगकर्ता एक मॉडल बनाने में सक्षम होंUPDATE
यदि उपयोगकर्ता किसी मॉडल को संशोधित करने में सक्षम होंDELETE
यदि उपयोगकर्ता किसी मॉडल को हटाने में सक्षम होंREFERENCES
यदि उपयोगकर्ता किसी अन्य मॉडल के लिए विदेशी कुंजी बाधाओं वाला मॉडल बनाते हैं -REFERENCES
इसके लिए एक और मॉडल की जरूरत है।
आपके आवेदन के मामले में जो कुछ आवश्यक है वह केवल आप ही जानते हैं। शायद SELECT
पर्याप्त है, जब आप अपने डेटा को केवल पढ़ने योग्य पहुंच प्रदान करते हैं।
जब आप इस तरह काम करते हैं, तो आपके पास एक अलग उपयोगकर्ता होना चाहिए, जिसका उपयोग परिनियोजन के लिए किया जाता है, जिसके पास आपके माइग्रेशन को निष्पादित करने का उचित अधिकार होता है (इस मामले में सभी विशेषाधिकार देना समझ में आता है)। यह प्रत्येक रिलीज़ के लिए लागू होता है और इसे स्वचालित IMO होना चाहिए।