classDropTableMutation
final class DropTableMutation
implements ShadowMutation
Applies DROP TABLE operation to the virtual schema. This mutation marks a table as removed from the virtual schema and clears its rows.
Methods§
public function __construct(
string $tableName,
TableDefinitionRegistry $registry,
string $sourceSql,
bool $ifExists = false,
)Binds the instance to what it will work from.
Parameters
$tableName | string | |
$registry | TableDefinitionRegistry | |
$sourceSql | string | |
$ifExists | bool |
public function apply(ShadowStore $store, array $rows): void{@inheritDoc}
Parameters
$store | ShadowStore | |
$rows | array |
Throws
SchemaNotFoundException When the table is not there and the statement did not allow for thatTest cases 5
DropTableMutationTest::testApplyClearsDataFromShadowStorecallsDropTableMutationTest::testApplyThrowsExceptionWhenTableDoesNotExistcallsDropTableMutationTest::testApplyUnregistersTableFromSchemacallsDropTableMutationTest::testApplyWithIfExistsDropsExistingTablecallsDropTableMutationTest::testApplyWithIfExistsSkipsWhenTableDoesNotExistcalls
Calls 4
- method-call TableDefinitionRegistry::has() line 50
- new SchemaNotFoundException line 54
- method-call TableDefinitionRegistry::markRemoved() line 57
- method-call ShadowStore::remove() line 58
public function tableName(): stringPrivate surface 4§
Implementation details, listed for orientation only.
private string $tableNameprivate TableDefinitionRegistry $registryprivate string $sourceSqlprivate bool $ifExistsTest cases 40§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 6
DropTableMutationTest::testApplyClearsDataFromShadowStorecallsDropTableMutationTest::testApplyThrowsExceptionWhenTableDoesNotExistcallsDropTableMutationTest::testApplyUnregistersTableFromSchemacallsDropTableMutationTest::testApplyWithIfExistsDropsExistingTablecallsDropTableMutationTest::testApplyWithIfExistsSkipsWhenTableDoesNotExistcallsDropTableMutationTest::testTableNameReturnsTableNamecalls
Other tests reaching this symbol 34
FakeSqlRewriter::rewriteDdlcallsClassAliasesTest::testFormerNameTypeAcceptsTheRelocatedClassBeforeTheFormerNameIsUsedcallsMySqlRewriterTest::testDropTableIfExistsSkipsNonExistentTablecallsMySqlRewriterTest::testDropTableMutationUnregistersSchemacallsMySqlRewriterTest::testRewriteDropTableCreatesMutationcallsPgSqlRewriterTest::testDropTableReturnsDdlSimulatedcallsPgSqlRewriterTest::testDropTableThenCreateDoesNotThrowcallsPgSqlRewriterTest::testRewriteDropTableReturnsSelectWhereFalsecallsSqliteRewriterTest::testDropTableReturnsDdlSimulatedcallsMySqlMutationResolverTest::testDropTableIfExistsWhenNotExistscallsMySqlMutationResolverTest::testResolveDropTableIfExistsDoesNotThrowcallsMySqlMutationResolverTest::testResolveDropTableReturnsDropTableMutationcallsMySqlMutationResolverTest::testResolveDropTableWithIfExistsDoesNotThrowForMissingTablecallsPgSqlMutationResolverTest::testResolveDropTableIfExistsForRegisteredTablecallsPgSqlMutationResolverTest::testResolveDropTableIfExistsWithUnknownTablecallsPgSqlMutationResolverTest::testResolveDropTableLowercaseExtractsTablecallsPgSqlMutationResolverTest::testResolveDropTableReturnsDropTableMutationcallsPgSqlMutationResolverTest::testResolveDropTableWithIfExistsNotRegisteredcallsTableMutationResolverTest::testResolveDropTablecallsTableMutationResolverTest::testResolveDropTableCaseInsensitiveIfExistscallsTableMutationResolverTest::testResolveDropTableExistingReturnsDropMutationcallsTableMutationResolverTest::testResolveDropTableIfExistscallsTableMutationResolverTest::testResolveDropTableIfExistsLowercasecallsTableMutationResolverTest::testResolveDropTableIfExistsLowercaseRegexcallsTableMutationResolverTest::testResolveDropTableIfExistsOnNonExistentTableDoesNotThrowcallsTableMutationResolverTest::testResolveDropTableTableNamecallsSqliteMutationResolverTest::testResolveDropTablecallsSqliteMutationResolverTest::testResolveDropTableCaseInsensitiveIfExistscallsSqliteMutationResolverTest::testResolveDropTableExistingReturnsDropMutationcallsSqliteMutationResolverTest::testResolveDropTableIfExistscallsSqliteMutationResolverTest::testResolveDropTableIfExistsLowercasecallsSqliteMutationResolverTest::testResolveDropTableIfExistsLowercaseRegexcallsSqliteMutationResolverTest::testResolveDropTableIfExistsOnNonExistentTableDoesNotThrowcallsSqliteMutationResolverTest::testResolveDropTableTableNamecalls
Relations§
Instantiated in 4
- new ZtdQuery\Platform\MySql\Shadow\Mutation\Table\TableMutationResolver::resolveDropTable() packages/ztd-query-mysql/src/Shadow/Mutation/Table/TableMutationResolver.php:100
- new ZtdQuery\Platform\Postgres\Shadow\Mutation\Table\TableMutationResolver::resolveDropTable() packages/ztd-query-postgres/src/Shadow/Mutation/Table/TableMutationResolver.php:112
- new ZtdQuery\Platform\Sqlite\Shadow\Resolution\TableMutationResolver::resolveDropTable() packages/ztd-query-sqlite/src/Shadow/Resolution/TableMutationResolver.php:71
- new ZtdQuery\Platform\Sqlite\Shadow\Resolution\TableMutationResolver::resolveDropTable() packages/ztd-query-sqlite/src/Shadow/Resolution/TableMutationResolver.php:80