Как сменить таблицу с историей миграций для нескольких баз данных, yii2?

В Yii2, для смены таблицы с историей миграций для нескольких баз данных, необходимо выполнить следующие шаги:

1. Настройте конфигурацию баз данных для своего приложения в файле config/db.php. Обратите внимание на то, что в конфигурации должны присутствовать настройки для каждой базы данных, с которыми вы хотите работать. Ниже приведен пример конфигурации для двух баз данных:

return [
    'class' => 'yiidbConnection',
    'dsn' => 'mysql:host=localhost;dbname=db1',
    'username' => 'username1',
    'password' => 'password1',
    'charset' => 'utf8',

    'slaveConfig' => [
        'username' => 'username2',
        'password' => 'password2',
        'charset' => 'utf8',
    ],
    'slaves' => [
        ['dsn' => 'mysql:host=localhost;dbname=db2'],
        //...
    ],
];

2. Создайте новый класс миграции, который будет содержать логику изменения таблицы с историей миграций для каждой базы данных. Ниже пример класса миграции, который меняет таблицу истории миграций для двух баз данных:

use yiidbMigration;

class m000000_000000_change_migration_history_table extends Migration
{
    // Метод `up` будет выполняться при применении миграции
    public function up()
    {
        $this->db = 'db1'; // Устанавливаем соединение с базой данных db1

        // Меняем таблицу истории миграций для базы данных db1
        $this->renameTable('{{%migration}}', '{{%db1_migration_history}}');

        $this->db = 'db2'; // Устанавливаем соединение с базой данных db2

        // Меняем таблицу истории миграций для базы данных db2
        $this->renameTable('{{%migration}}', '{{%db2_migration_history}}');
    }

    // Метод `down` будет выполняться при отмене миграции
    public function down()
    {
        $this->db = 'db1'; // Устанавливаем соединение с базой данных db1

        // Меняем таблицу истории миграций для базы данных db1 обратно
        $this->renameTable('{{%db1_migration_history}}', '{{%migration}}');

        $this->db = 'db2'; // Устанавливаем соединение с базой данных db2

        // Меняем таблицу истории миграций для базы данных db2 обратно
        $this->renameTable('{{%db2_migration_history}}', '{{%migration}}');
    }
}

3. Запустите миграцию, чтобы применить изменения таблицы истории миграций для каждой базы данных. Выполните команду в командной строке:

yii migrate/up --migrationPath=@app/migrations

Проверьте, что таблицы истории миграций были изменены для каждой базы данных.

В результате, вы сменили таблицу с историей миграций для нескольких баз данных в Yii2, используя отдельные классы миграций для каждой базы данных. Обратите внимание, что в примере использовались базы данных db1 и db2, вы можете заменить их на свои реальные названия баз данных.