2016-07-26 2 views
2

У меня есть начальный массив конфигурации для Yii с подключением базы данных элемента:Установить уровень изоляции в Yii глобально

'components'=>array(
     ...... 
     'db'=>array(
      'connectionString' => 'mysql:host=localhost;dbname=blog', 
      'emulatePrepare' => true, 
      'username' => 'root', 
      'password' => '', 
      'charset' => 'utf8', 
      'tablePrefix' => 'tbl_', 
     ), 
    ) 

Можно ли настроить на тот же уровень изоляции транзакций способом глобально для всего приложения?

+0

Для блокировки базы данных? –

+0

@eskimo Здесь вы можете прочитать об уровне изоляции транзакций: https://en.wikipedia.org/wiki/Isolation_(database_systems) – Andremoniy

+0

А также здесь: http://www.yiiframework.com/doc-2.0/guide-db -dao.html # исполнительского-операции – Andremoniy

ответ

1

Попробуйте добавить

'initSQLs' => array('SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;'), 

к 'дб' => массив.

Вы можете изменить SERIALIZABLE на любой уровень изоляции транзакции.