Mam dwa połączenia z bazą danych, jeden używany dla większości moich danych aplikacji i taki, który jest używany tylko do odczytu.Yii ogranicza połączenie z bazą danych tylko do odczytu
Mimo że mogę skonfigurować moje konto użytkownika bazy danych, aby zezwalać tylko na odczyty, istnieją inne osoby administrujące tym systemem i chcę pewnej redundancji na poziomie aplikacji, aby absolutnie zapobiec niezamierzonym zapisom przy użyciu standardowych klas ActiveRecord Yii.
Znalazłem tę informację na forach, ale zastanawiałem się, czy ktoś może potwierdzić, że jest to dobre podejście i/lub zasugerować inną.
public function onBeforeSave($event)
{
$this->db = Yii::app()->masterDb;
}
public function onAfterSave($event)
{
$this->db = Yii::app()->db;
}
Użycie oddzielnego użytkownika bazy danych to rozsądna droga. –
@ tereško ... i jedyny sposób, aby w pełni zagwarantować, że żaden przyszły kod nie złamie tej "konwencji" ... – Ron
Zgadzam się, że użytkownik tylko do odczytu DB jest najbardziej eleganckim rozwiązaniem, jednak chcę nadmiarowości, ponieważ nie ufam ludziom administrowanie systemem 100% –