मेरे पास दो डेटाबेस कनेक्शन हैं, जिनका उपयोग मेरे अधिकांश एप्लिकेशन डेटा के लिए किया जाता है, और एक जिसे केवल पढ़ने के लिए उपयोग किया जाता है।Yii केवल पढ़ने के लिए डेटाबेस कनेक्शन को प्रतिबंधित करें
हालांकि मैं अपने डेटाबेस उपयोगकर्ता खाते को केवल पढ़ने की अनुमति देने के लिए सेट कर सकता हूं, इस प्रणाली को प्रशासित करने वाले अन्य लोग भी हैं, और मैं एप्लिकेशन स्तर पर कुछ रिडंडेंसी चाहता हूं ताकि वाईआई के मानक ActiveRecord कक्षाओं का उपयोग करके अनजान लिखने को पूरी तरह से रोका जा सके।
फ़ोरम पर इस जानकारी की जानकारी मिली, लेकिन यह सोच रहा था कि कोई यह पुष्टि कर सकता है कि यह एक अच्छा दृष्टिकोण है और/या किसी अन्य का सुझाव है।
public function onBeforeSave($event)
{
$this->db = Yii::app()->masterDb;
}
public function onAfterSave($event)
{
$this->db = Yii::app()->db;
}
एक अलग डीबी उपयोगकर्ता का उपयोग करने के लिए समझदार तरीका है। –
@ tereško ... और पूरी तरह से गारंटी देने का एकमात्र तरीका है कि कोई भविष्य कोड इस "सम्मेलन" को तोड़ता है ... – Ron
मैं मानता हूं कि एक पाठक डीबी उपयोगकर्ता सबसे सुरुचिपूर्ण समाधान है, हालांकि मुझे अनावश्यकता चाहिए क्योंकि मैं लोगों पर भरोसा नहीं करता सिस्टम को प्रशासित करना 100% –