Работа с базами данных
Ваше расширение может иметь доступ к базам данных. Не думайте, что приложения, которые используют ваше расширение, всегда используют Yii::$db
в качестве соединения с БД. Вместо этого вам следует объявить свойство db
в классах, которым необходим доступ в БД. Это свойство позволит пользователям вашего расширения настроить соединение с БД, которое они будут использовать в вашем расширении. В качестве примера вы можете обратиться к классу [[yii\caching\DbCache]] и посмотреть, как он объявляет и использует свойство db
.
Если в вашем приложении необходимо создать определённые таблицы БД или сделать изменения в схеме БД, вы должны
- создать файлы миграций для изменения схемы БД вместо простых SQL-файлов;
- попытаться сделать миграции, применимые к различным СУБД;
- избегать использования Active Record в миграциях.