Dumplie\Metadata\Infrastructure\Doctrine\Dbal\DoctrineStorage::drop PHP Method

drop() public method

public drop ( Schema $schema )
$schema Dumplie\Metadata\Schema
    public function drop(Schema $schema)
    {
        $currentSchema = $this->connection->getSchemaManager()->createSchema();
        $targetSchema = clone $currentSchema;
        foreach ($schema->types() as $type) {
            $targetSchema->dropTable($this->tableName($schema->name(), $type->name()));
        }
        $queries = $currentSchema->getMigrateToSql($targetSchema, $this->connection->getDatabasePlatform());
        $this->executeQueries($queries);
    }

Usage Example

Exemplo n.º 1
0
 public function test_drop()
 {
     $this->storage->create($this->schema);
     $this->storage->drop($this->schema);
     $result = $this->connection->getSchemaManager()->tablesExist(['metadata_test_foo', 'metadata_test_bar']);
     $this->assertFalse($result);
 }