Creating schema changes from abstract schema and even abstracting a schema change. Bug: T230420 Change-Id: If626e866642af820dd70c5f9b0fe7c6a951e0a25
24 lines
543 B
PHP
24 lines
543 B
PHP
<?php
|
|
|
|
namespace Wikimedia\Rdbms;
|
|
|
|
/**
|
|
* Interface SchemaChangeBuilder that gets a definition and produces ALTER TABLE SQL based on RDBMS
|
|
*
|
|
* @experimental
|
|
* @unstable
|
|
*/
|
|
interface SchemaChangeBuilder {
|
|
|
|
/**
|
|
* An example of $schema value:
|
|
* [
|
|
* 'comment' => 'Adding foo field',
|
|
* 'before' => <Before snapshot of the abstract schema>
|
|
* 'after' => <After snapshot of the abstract schema>
|
|
* ],
|
|
* @param array $schemaChangeSpec
|
|
* @return string[]
|
|
*/
|
|
public function getSchemaChangeSql( array $schemaChangeSpec ): array;
|
|
}
|