db = $db; } /** * @param IOutput $output * @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper` * @param array $options * * @return void */ public function preSchemaChange(IOutput $output, Closure $schemaClosure, array $options) { } /** * @param IOutput $output * @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper` * @param array $options * * @return ISchemaWrapper * * @throws SchemaException */ public function changeSchema(IOutput $output, Closure $schemaClosure, array $options) { /** @var ISchemaWrapper $schema */ $schema = $schemaClosure(); if ($schema->hasTable('bookmarks')) { $table = $schema->getTable('bookmarks'); $table->addColumn('archived_file', Types::BIGINT, [ 'notnull' => false, ]); } return $schema; } /** * @param IOutput $output * @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper` * @param array $options * * @return void */ public function postSchemaChange(IOutput $output, Closure $schemaClosure, array $options) { } }