Add verbose debug output to MigrationRunner for troubleshooting
This commit is contained in:
parent
1db39e1328
commit
b5a0f36603
|
|
@ -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";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue