protected function getPackageKeyFromMigrationVersion(Version $version)
{
$sortedAvailablePackages = $this->packageManager->getAvailablePackages();
usort($sortedAvailablePackages, function (PackageInterface $packageOne, PackageInterface $packageTwo) {
return strlen($packageTwo->getPackagePath()) - strlen($packageOne->getPackagePath());
});
$reflectedClass = new \ReflectionClass($version->getMigration());
$classPathAndFilename = Files::getUnixStylePath($reflectedClass->getFileName());
/** @var $package PackageInterface */
foreach ($sortedAvailablePackages as $package) {
$packagePath = Files::getUnixStylePath($package->getPackagePath());
if (strpos($classPathAndFilename, $packagePath) === 0) {
return $package->getPackageKey();
}
}
return '';
}