fix(database): Explicitly inherit stricly typed database schema closure

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
This commit is contained in:
Christoph Wurst 2022-12-06 11:40:10 +01:00
parent 48358bb78f
commit 8237e02cf7
No known key found for this signature in database
GPG Key ID: CC42AC2A7F0E56D8
2 changed files with 27 additions and 16 deletions

View File

@ -27,6 +27,7 @@ declare(strict_types=1);
*/
namespace OCP\Migration;
use Closure;
use OCP\DB\ISchemaWrapper;
/**
@ -34,7 +35,7 @@ use OCP\DB\ISchemaWrapper;
*/
interface IMigrationStep {
/**
* Human readable name of the migration step
* Human-readable name of the migration step
*
* @return string
* @since 14.0.0
@ -42,7 +43,7 @@ interface IMigrationStep {
public function name(): string;
/**
* Human readable description of the migration steps
* Human-readable description of the migration step
*
* @return string
* @since 14.0.0
@ -51,29 +52,29 @@ interface IMigrationStep {
/**
* @param IOutput $output
* @param \Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
* @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
* @psalm-param Closure():ISchemaWrapper $schemaClosure
* @param array $options
* @since 13.0.0
*/
public function preSchemaChange(IOutput $output, \Closure $schemaClosure, array $options);
public function preSchemaChange(IOutput $output, Closure $schemaClosure, array $options);
/**
* @param IOutput $output
* @param \Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
* @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
* @psalm-param Closure():ISchemaWrapper $schemaClosure
* @param array $options
* @return null|ISchemaWrapper
* @since 13.0.0
*/
public function changeSchema(IOutput $output, \Closure $schemaClosure, array $options);
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options);
/**
* @param IOutput $output
* @param \Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
* @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
* @psalm-param Closure():ISchemaWrapper $schemaClosure
* @param array $options
* @since 13.0.0
*/
public function postSchemaChange(IOutput $output, \Closure $schemaClosure, array $options);
public function postSchemaChange(IOutput $output, Closure $schemaClosure, array $options);
}

View File

@ -28,12 +28,15 @@ declare(strict_types=1);
*/
namespace OCP\Migration;
use Closure;
use OCP\DB\ISchemaWrapper;
/**
* @since 13.0.0
*/
abstract class SimpleMigrationStep implements IMigrationStep {
/**
* Human readable name of the migration step
* Human-readable name of the migration step
*
* @return string
* @since 14.0.0
@ -43,7 +46,7 @@ abstract class SimpleMigrationStep implements IMigrationStep {
}
/**
* Human readable description of the migration step
* Human-readable description of the migration step
*
* @return string
* @since 14.0.0
@ -53,16 +56,21 @@ abstract class SimpleMigrationStep implements IMigrationStep {
}
/**
* {@inheritDoc}
*
* @param IOutput $output
* @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
* @psalm-param Closure():ISchemaWrapper $schemaClosure
* @param array $options
* @since 13.0.0
*/
public function preSchemaChange(IOutput $output, \Closure $schemaClosure, array $options) {
}
/**
* {@inheritDoc}
*
* @param IOutput $output
* @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
* @psalm-param Closure():ISchemaWrapper $schemaClosure
* @param array $options
* @return null|ISchemaWrapper
* @since 13.0.0
*/
public function changeSchema(IOutput $output, \Closure $schemaClosure, array $options) {
@ -70,8 +78,10 @@ abstract class SimpleMigrationStep implements IMigrationStep {
}
/**
* {@inheritDoc}
*
* @param IOutput $output
* @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
* @psalm-param Closure():ISchemaWrapper $schemaClosure
* @param array $options
* @since 13.0.0
*/
public function postSchemaChange(IOutput $output, \Closure $schemaClosure, array $options) {