Skip to content
Snippets Groups Projects
Commit 6bc8e7bb authored by Jan-Hendrik Willms's avatar Jan-Hendrik Willms
Browse files

fixes #4138

Closes #4138

Merge request studip/studip!2980
parent f9cb99a8
No related branches found
No related tags found
No related merge requests found
......@@ -51,7 +51,7 @@
<?= htmlReady($number) ?>
</td>
<td>
<?= htmlReady(get_class($migration)) ?>
<?= htmlReady($migration->getName()) ?>
</td>
<td>
<? if ($migration->description()): ?>
......
......@@ -48,6 +48,24 @@ abstract class Migration
return '';
}
/**
* Returns the name of the migration. If the migration is an anonymous
* class, the the name is created from the filename. Otherwise, it's the
* class name of the migration.
*
* @return string
*/
public function getName(): string
{
$reflection = new ReflectionClass($this);
if ($reflection->isAnonymous()) {
$filename = basename($reflection->getFileName(), '.php');
$name = implode(' ', array_slice(explode('_', $filename), 1));
return ucfirst($name);
}
return static::class;
}
/**
* Abstract method performing this migration step.
* This method should be implemented in a migration subclass.
......@@ -67,12 +85,12 @@ abstract class Migration
/**
* Perform or revert this migration, depending on the indicated direction.
*
* @param string $direction migration direction (either 'up' or 'down')
* @param ?string $direction migration direction (either 'up' or 'down')
*/
public function migrate($direction)
{
if (!in_array($direction, ['up', 'down'])) {
return;
return null;
}
$result = $this->$direction();
......@@ -107,7 +125,7 @@ abstract class Migration
$args = func_get_args();
$message = vsprintf(array_shift($args), $args);
return $this->write($this->mark($message));
$this->write($this->mark($message));
}
/**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment