classAlterTableMutation
final class AlterTableMutation
implements ShadowMutation
Applies an ALTER TABLE schema and row projection to the shadow store.
Methods§
public function __construct(
private string $sql,
private string $sourceTable,
private string $targetTable,
private TableDefinition $definition,
private TableDefinitionRegistry $registry,
private string $resultSelect,
)Binds the dependencies used by this operation.
Parameters
$sql | string | |
$sourceTable | string | |
$targetTable | string | |
$definition | TableDefinition | |
$registry | TableDefinitionRegistry | |
$resultSelect | string |
public function apply(ShadowStore $store, array $rows): voidParameters
$store | ShadowStore | |
$rows | array |
Throws
TableAlreadyExistsException
{@inheritDoc}Test cases 3
Calls 6
- method-call TableDefinitionRegistry::has() line 37
- new TableAlreadyExistsException line 38
- method-call TableDefinitionRegistry::markRemoved() line 41
- method-call TableDefinitionRegistry::register() line 42
- method-call ShadowStore::remove() line 44
- method-call ShadowStore::set() line 46
public function resultSelect(): stringReturns the SELECT used to project rows after the schema change.
Returns
stringpublic function tableName(): stringReturns the relation affected by this mutation.
Returns
stringPrivate surface 6§
Implementation details, listed for orientation only.
private string $sqlprivate string $sourceTableprivate string $targetTableprivate TableDefinition $definitionprivate TableDefinitionRegistry $registryprivate string $resultSelectTest cases 90§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 4
AlterTableMutationTest::testApplyRenameMovesRowsAndRetainsSourceTombstonecallsAlterTableMutationTest::testApplyRenameRejectsAnActiveTargetcallsAlterTableMutationTest::testResultSelectRetainsProjectionWithoutChangingSchemacallsAlterTableMutationTest::testTableNameResultSelectApplyReplacesDefinitionAndRowsAtSameNamecalls
Other tests reaching this symbol 86
SqliteRewriterTest::testAlterTableUsesShadowedMigrationSelectcallsStatementRewriterTestcallsAddColumnResolverTest::testResolveAlterAddColumnProjectsDefaultAndRegistersNewSchemacallsAlteredTableProjectionTestcallsDropColumnResolverTest::testResolveAlterDropColumnProjectsRemainingRowscallsRenameResolverTest::testResolveAlterRenameColumnProjectsNewNamecallsRenameResolverTest::testResolveAlterRenameTableMovesSchemaAndRowsAtApplycallsTableMutationResolverTest::testResolveAlterTableAddColumncallsTableMutationResolverTest::testResolveAlterTableAddColumnLowercasecallsTableMutationResolverTest::testResolveAlterTableAddColumnNoKeywordcallsTableMutationResolverTest::testResolveAlterTableAddColumnUnknownTableThrowscallsTableMutationResolverTest::testResolveAlterTableAddColumnVerifyNewColumnscallsTableMutationResolverTest::testResolveAlterTableAddColumnWithoutTypecallsTableMutationResolverTest::testResolveAlterTableAddColumnWithParenthesizedTypecallsTableMutationResolverTest::testResolveAlterTableAddColumnWithPrimaryKeywordcallsTableMutationResolverTest::testResolveAlterTableAddColumnWithTypecallsTableMutationResolverTest::testResolveAlterTableAddWithoutColumnKeywordcallsTableMutationResolverTest::testResolveAlterTableCaseInsensitiveRenameTocallsTableMutationResolverTest::testResolveAlterTableDropColumncallsTableMutationResolverTest::testResolveAlterTableDropColumnLowercasecallsTableMutationResolverTest::testResolveAlterTableDropColumnUpdatesSchemacallsTableMutationResolverTest::testResolveAlterTableDropColumnVerifyRemovedFromAllListscallsTableMutationResolverTest::testResolveAlterTableRenameColumncallsTableMutationResolverTest::testResolveAlterTableRenameColumnLowercasecallsTableMutationResolverTest::testResolveAlterTableRenameColumnPrimaryKeysUpdatedcallsTableMutationResolverTest::testResolveAlterTableRenameColumnUpdatesSchemacallsTableMutationResolverTest::testResolveAlterTableRenameColumnVerifyAllUpdatedcallsTableMutationResolverTest::testResolveAlterTableRenameTablecallsTableMutationResolverTest::testResolveAlterTableRenameToDropsOldTablecallsTableMutationResolverTest::testResolveAlterTableRenameToLowercasecallsTableMutationResolverTest::testResolveAlterTableRenameWithoutColumnKeywordcallsSqliteMutationResolverTest::testAlterAcceptsBracketQuotedColumnIdentifierscallsSqliteMutationResolverTest::testAlterAddColumnPreservesExistingAndAddedForeignKeyscallsSqliteMutationResolverTest::testAlterAddGeneratedColumnPreservesExistingAndAddedExpressionscallsSqliteMutationResolverTest::testAlterAddPreservesCompleteDefinitionAndBuildsMigrationProjectioncallsSqliteMutationResolverTest::testAlterColumnMutationsPreserveRenameAndRemoveForeignKeyscallsSqliteMutationResolverTest::testAlterDropRemovesEveryColumnMetadataEntryAndBuildsMigrationProjectioncallsSqliteMutationResolverTest::testAlterRenameColumnMovesEveryMetadataEntryAndBuildsMigrationProjectioncallsSqliteMutationResolverTest::testAlterRenameColumnSupportsCaseOnlyTargetcallsSqliteMutationResolverTest::testAlterRenameTableBuildsMigrationProjectionAndMovesDefinitioncallsSqliteMutationResolverTest::testResolveAlterAddColumnDoesNotThrowWhenAppliedcallsSqliteMutationResolverTest::testResolveAlterAddColumnEmptyParensDoesNotAppendParenscallsSqliteMutationResolverTest::testResolveAlterAddColumnIfNotExistsDoesNotThrowcallsSqliteMutationResolverTest::testResolveAlterAddColumnMultilineTypecallsSqliteMutationResolverTest::testResolveAlterAddQuotedColumnLowercaseAddcallsSqliteMutationResolverTest::testResolveAlterAddWithoutColumnKeywordLowercasecallsSqliteMutationResolverTest::testResolveAlterDropColumnDoesNotThrowWhenAppliedcallsSqliteMutationResolverTest::testResolveAlterDropColumnIfNotExistsDoesNotThrowcallsSqliteMutationResolverTest::testResolveAlterDropColumnLowercaseRegexcallsSqliteMutationResolverTest::testResolveAlterDropColumnReindexesNotNullcallsSqliteMutationResolverTest::testResolveAlterDropColumnReindexesPrimaryKeyscallsSqliteMutationResolverTest::testResolveAlterRenameColumnDoesNotThrowWhenAppliedcallsSqliteMutationResolverTest::testResolveAlterRenameColumnIfNotExistsDoesNotThrowcallsSqliteMutationResolverTest::testResolveAlterRenameColumnLowercaseRegexcallsSqliteMutationResolverTest::testResolveAlterRenameTableAppliesAsDropcallsSqliteMutationResolverTest::testResolveAlterRenameTableIfExistsDoesNotThrowcallsSqliteMutationResolverTest::testResolveAlterRenameTableProducesDropMutationcallsSqliteMutationResolverTest::testResolveAlterRenameToDoesNotThrowWhenTableAlreadyGonecallsSqliteMutationResolverTest::testResolveAlterRenameToExtractsCorrectNewNamecallsSqliteMutationResolverTest::testResolveAlterRenameToLowercaseRegexcallsSqliteMutationResolverTest::testResolveAlterRenameWithoutColumnKeywordLowercasecallsSqliteMutationResolverTest::testResolveAlterTableAddColumncallsSqliteMutationResolverTest::testResolveAlterTableAddColumnLowercasecallsSqliteMutationResolverTest::testResolveAlterTableAddColumnNoKeywordcallsSqliteMutationResolverTest::testResolveAlterTableAddColumnUnknownTableThrowscallsSqliteMutationResolverTest::testResolveAlterTableAddColumnVerifyNewColumnscallsSqliteMutationResolverTest::testResolveAlterTableAddColumnWithoutTypecallsSqliteMutationResolverTest::testResolveAlterTableAddColumnWithParenthesizedTypecallsSqliteMutationResolverTest::testResolveAlterTableAddColumnWithPrimaryKeywordcallsSqliteMutationResolverTest::testResolveAlterTableAddColumnWithTypecallsSqliteMutationResolverTest::testResolveAlterTableAddWithoutColumnKeywordcallsSqliteMutationResolverTest::testResolveAlterTableCaseInsensitiveRenameTocallsSqliteMutationResolverTest::testResolveAlterTableDropColumncallsSqliteMutationResolverTest::testResolveAlterTableDropColumnLowercasecallsSqliteMutationResolverTest::testResolveAlterTableDropColumnUpdatesSchemacallsSqliteMutationResolverTest::testResolveAlterTableDropColumnVerifyRemovedFromAllListscallsSqliteMutationResolverTest::testResolveAlterTableRenameColumncallsSqliteMutationResolverTest::testResolveAlterTableRenameColumnLowercasecallsSqliteMutationResolverTest::testResolveAlterTableRenameColumnPrimaryKeysUpdatedcallsSqliteMutationResolverTest::testResolveAlterTableRenameColumnUpdatesSchemacallsSqliteMutationResolverTest::testResolveAlterTableRenameColumnVerifyAllUpdatedcallsSqliteMutationResolverTest::testResolveAlterTableRenameTablecallsSqliteMutationResolverTest::testResolveAlterTableRenameToDropsOldTablecallsSqliteMutationResolverTest::testResolveAlterTableRenameToLowercasecallsSqliteMutationResolverTest::testResolveAlterTableRenameWithoutColumnKeywordcallsSqliteSessionFactoryTestcalls