loadMigrations(); } private function loadMigrations() { $invalidContents = ['.', '..', '.gitkeep']; $migrationsDir = database_path() . '/migrations/'; $migrationFilesPaths = $this->getMigrationFilesPaths( $invalidContents, $migrationsDir ); $this->loadMigrationsFrom($migrationFilesPaths); } private function getMigrationFilesPaths($invalidContents, $currentDirectory, $paths = []) { $contents = opendir($currentDirectory); while ($content = readdir($contents)) { if (!in_array($content, $invalidContents)) { $fullPath = $currentDirectory . $content; if (is_dir($fullPath)) { $paths = $this->getMigrationFilesPaths( $invalidContents, $fullPath . '/', $paths ); continue; } $paths[] = $fullPath; } } return $paths; } }