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 @@ ...@@ -51,7 +51,7 @@
<?= htmlReady($number) ?> <?= htmlReady($number) ?>
</td> </td>
<td> <td>
<?= htmlReady(get_class($migration)) ?> <?= htmlReady($migration->getName()) ?>
</td> </td>
<td> <td>
<? if ($migration->description()): ?> <? if ($migration->description()): ?>
......
...@@ -48,6 +48,24 @@ abstract class Migration ...@@ -48,6 +48,24 @@ abstract class Migration
return ''; 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. * Abstract method performing this migration step.
* This method should be implemented in a migration subclass. * This method should be implemented in a migration subclass.
...@@ -67,12 +85,12 @@ abstract class Migration ...@@ -67,12 +85,12 @@ abstract class Migration
/** /**
* Perform or revert this migration, depending on the indicated direction. * 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) public function migrate($direction)
{ {
if (!in_array($direction, ['up', 'down'])) { if (!in_array($direction, ['up', 'down'])) {
return; return null;
} }
$result = $this->$direction(); $result = $this->$direction();
...@@ -107,7 +125,7 @@ abstract class Migration ...@@ -107,7 +125,7 @@ abstract class Migration
$args = func_get_args(); $args = func_get_args();
$message = vsprintf(array_shift($args), $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