Tengo dos conexiones de base de datos, una que se utiliza para la mayoría de mis datos de aplicación y otra que solo se usa para lecturas.Yii restringe la conexión de la base de datos a solo lectura
Aunque puedo configurar mi cuenta de usuario de base de datos para que solo permita lecturas, hay otras personas administrando este sistema, y quiero cierta redundancia a nivel de aplicación para evitar por completo las escrituras involuntarias utilizando las clases ActiveRecord estándar de Yii.
Encontré este bit de información en los foros, pero me preguntaba si alguien podría confirmar que este es un buen enfoque y/o sugerir otro.
public function onBeforeSave($event)
{
$this->db = Yii::app()->masterDb;
}
public function onAfterSave($event)
{
$this->db = Yii::app()->db;
}
El uso de un usuario de base de datos independiente es la mejor manera de hacerlo. –
@ tereško ... y la única manera de garantizar plenamente que ningún código futuro rompa esta "convención" ... – Ron
Estoy de acuerdo en que un solo DB de datos es la solución más elegante, sin embargo quiero redundancia ya que no confío en las personas administrando el sistema 100% –