for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
use yii\db\Migration;
/**
* Class m180328_085629_add_indexes
*/
class m180328_085629_add_indexes extends Migration
{
private $columns = [];
private $tableName;
private $indexPrefix = 'ix_';
private function setUp($model) {
$this->tableName = $model;
if ($model === 'language') {
$this->columns =[
'language', 'name'
];
}
if ($model === 'language_translation') {
'model_class', 'model_field_name', 'model_id'
* {@inheritdoc}
public function safeUp()
$this->setUp('language');
$this->createIndexes();
$this->setUp('language_translation');
public function safeDown()
$this->dropIndexes();
private function createIndexes(){
foreach ($this->columns as $column) {
$this->createIndex($this->indexPrefix.$column,$this->tableName, $column);
private function dropIndexes(){
$this->dropIndex($this->indexPrefix.$column,$this->tableName);