classAlteredTableProjection
final class AlteredTableProjection
Restricted visibility: declared "@visibility ZtdQuery\Platform\Sqlite". Code outside that scope must not name this declaration.
Builds an ALTER mutation from its projected schema and rows.
Methods§
public function __construct(private TableDefinitionRegistry $registry)Binds the collaborators used by this operation.
Parameters
$registry | TableDefinitionRegistry |
public function alterMutation(
string $sql,
string $sourceTable,
string $targetTable,
TableDefinition $definition,
list<string> $projection,
): AlterTableMutationParameters
$sql | string | |
$sourceTable | string | |
$targetTable | string | |
$definition | TableDefinition | |
$projection | list<string> |
Returns
Throws
Test cases 2
Called from 4
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\AddColumnResolver::resolveAlterAddColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/AddColumnResolver.php:75
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\DropColumnResolver::resolveAlterDropColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/DropColumnResolver.php:49
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\RenameResolver::resolveAlterRenameTable() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/RenameResolver.php:43
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\RenameResolver::resolveAlterRenameColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/RenameResolver.php:86
Calls 4
- new UnsupportedSqlException line 40
- new AlterTableMutation line 43
- function-call
implodeline 49 - method-call AlteredTableProjection::quote() line 49
public function existingColumn(TableDefinition $definition, string $requested): ?stringBuilds an ALTER mutation from its projected schema and rows.
Parameters
$definition | TableDefinition | |
$requested | string |
Returns
?stringTest cases 1
Called from 4
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\AddColumnResolver::resolveAlterAddColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/AddColumnResolver.php:47
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\DropColumnResolver::resolveAlterDropColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/DropColumnResolver.php:42
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\RenameResolver::resolveAlterRenameColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/RenameResolver.php:67
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\RenameResolver::resolveAlterRenameColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/RenameResolver.php:71
Calls 1
- function-call
strcasecmpline 59
public function quotedColumns(array<int, string> $columns): list<string>Parameters
$columns | array<int, string> |
Returns
list<string>Test cases 1
Called from 3
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\AddColumnResolver::resolveAlterAddColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/AddColumnResolver.php:71
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\DropColumnResolver::resolveAlterDropColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/DropColumnResolver.php:54
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\RenameResolver::resolveAlterRenameTable() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/RenameResolver.php:48
Calls 1
- method-call AlteredTableProjection::quote() line 75
public function quote(string $identifier): stringBuilds an ALTER mutation from its projected schema and rows.
Parameters
$identifier | string |
Returns
stringTest cases 1
Called from 5
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\AddColumnResolver::resolveAlterAddColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/AddColumnResolver.php:73
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\AlteredTableProjection::alterMutation() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/AlteredTableProjection.php:49
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\AlteredTableProjection::quotedColumns() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/AlteredTableProjection.php:75
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\RenameResolver::resolveAlterRenameColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/RenameResolver.php:79
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\RenameResolver::resolveAlterRenameColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/RenameResolver.php:81
Calls 2
- method-call SqliteIdentifierQuoter::quote() line 86
- new SqliteIdentifierQuoter line 86
Private surface 1§
Implementation details, listed for orientation only.
private TableDefinitionRegistry $registryTest cases 13§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 5
AlteredTableProjectionTest::testAlterMutationBuildsProjectionWithoutApplyingItcallsAlteredTableProjectionTest::testAlterMutationRejectsRemovingEveryColumncallsAlteredTableProjectionTest::testExistingColumnPreservesCanonicalNamecallsAlteredTableProjectionTest::testQuotedColumnsPreservesOrdercallsAlteredTableProjectionTest::testQuoteEscapesEmbeddedDoubleQuotescalls
Other tests reaching this symbol 8
SqliteRewriterTestcallsStatementRewriterTestcallsAddColumnResolverTestcallsDropColumnResolverTestcallsRenameResolverTestcallsTableMutationResolverTestcallsSqliteMutationResolverTestcallsSqliteSessionFactoryTestcalls
Relations§
Instantiated in 14
- new ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\AddColumnResolver::resolveAlterAddColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/AddColumnResolver.php:47
- new ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\AddColumnResolver::resolveAlterAddColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/AddColumnResolver.php:71
- new ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\AddColumnResolver::resolveAlterAddColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/AddColumnResolver.php:73
- new ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\AddColumnResolver::resolveAlterAddColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/AddColumnResolver.php:75
- new ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\DropColumnResolver::resolveAlterDropColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/DropColumnResolver.php:42
- new ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\DropColumnResolver::resolveAlterDropColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/DropColumnResolver.php:49
- new ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\DropColumnResolver::resolveAlterDropColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/DropColumnResolver.php:54
- new ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\RenameResolver::resolveAlterRenameTable() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/RenameResolver.php:43
- new ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\RenameResolver::resolveAlterRenameTable() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/RenameResolver.php:48
- new ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\RenameResolver::resolveAlterRenameColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/RenameResolver.php:67
- new ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\RenameResolver::resolveAlterRenameColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/RenameResolver.php:71
- new ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\RenameResolver::resolveAlterRenameColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/RenameResolver.php:79
- new ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\RenameResolver::resolveAlterRenameColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/RenameResolver.php:81
- new ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\RenameResolver::resolveAlterRenameColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/RenameResolver.php:86
Method calls 14
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\AddColumnResolver::resolveAlterAddColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/AddColumnResolver.php:47
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\AddColumnResolver::resolveAlterAddColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/AddColumnResolver.php:71
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\AddColumnResolver::resolveAlterAddColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/AddColumnResolver.php:73
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\AddColumnResolver::resolveAlterAddColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/AddColumnResolver.php:75
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\DropColumnResolver::resolveAlterDropColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/DropColumnResolver.php:42
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\DropColumnResolver::resolveAlterDropColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/DropColumnResolver.php:49
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\DropColumnResolver::resolveAlterDropColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/DropColumnResolver.php:54
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\RenameResolver::resolveAlterRenameTable() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/RenameResolver.php:43
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\RenameResolver::resolveAlterRenameTable() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/RenameResolver.php:48
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\RenameResolver::resolveAlterRenameColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/RenameResolver.php:67
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\RenameResolver::resolveAlterRenameColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/RenameResolver.php:71
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\RenameResolver::resolveAlterRenameColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/RenameResolver.php:79
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\RenameResolver::resolveAlterRenameColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/RenameResolver.php:81
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\Alter\RenameResolver::resolveAlterRenameColumn() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/Alter/RenameResolver.php:86