2 つのデータベース接続があります。1 つはほとんどのアプリケーション データに使用され、もう 1 つは読み取り専用です。
読み取りのみを許可するようにデータベース ユーザー アカウントをセットアップすることはできますが、このシステムを管理している人が他にもいるため、Yii の標準の ActiveRecord クラスを使用して意図しない書き込みを完全に防ぐために、アプリケーション レベルである程度の冗長性が必要です。
フォーラムでこの情報を見つけましたが、誰かがこれが良いアプローチであることを確認したり、別のアプローチを提案したりできるかどうか疑問に思っていました.
public function onBeforeSave($event)
{
$this->db = Yii::app()->masterDb;
}
public function onAfterSave($event)
{
$this->db = Yii::app()->db;
}