Add verbose debug output to MigrationRunner for troubleshooting

This commit is contained in:
Vladimir Mirivlad 2026-02-06 15:22:58 +00:00
parent 1db39e1328
commit b5a0f36603
1 changed files with 10 additions and 0 deletions

View File

@ -21,26 +21,36 @@ class MigrationRunner
*/
public function migrate(): void
{
echo "[DEBUG] Путь к директории миграций: " . $this->migrationsDir . "\n";
$this->ensureMigrationTableExists();
$appliedMigrations = $this->getAppliedMigrations();
echo "[DEBUG] Примененные миграции: " . print_r($appliedMigrations, true) . "\n";
$migrationFiles = $this->getMigrationFiles();
echo "[DEBUG] Найденные файлы миграций: " . print_r($migrationFiles, true) . "\n";
foreach ($migrationFiles as $filename) {
$migrationName = $this->getMigrationNameFromFilename($filename);
echo "[DEBUG] Обрабатываем файл: $filename, имя миграции: $migrationName\n";
if (!in_array($migrationName, $appliedMigrations)) {
echo "Применяем миграцию: $migrationName\n";
$migrationClass = $this->loadMigrationClass($filename);
echo "[DEBUG] Загружен класс миграции: " . ($migrationClass ? get_class($migrationClass) : 'NULL') . "\n";
if ($migrationClass && method_exists($migrationClass, 'up')) {
echo "[DEBUG] Вызываем метод up() для миграции $migrationName\n";
$migrationClass->up($this->pdo);
$this->markAsApplied($migrationName);
echo "✓ Миграция $migrationName успешно применена\n";
} else {
echo "✗ Ошибка: Метод up() не найден в миграции $migrationName\n";
}
} else {
echo "[DEBUG] Миграция $migrationName уже применена, пропускаем\n";
}
}
}