platform = $platform; } /** * @return list * * @throws Exception */ public function buildSQL(Schema $schema): array { return array_merge( $this->buildSequenceStatements($schema->getSequences()), $this->buildTableStatements($schema->getTables()), ); } /** * @param list $tables * * @return list */ private function buildTableStatements(array $tables): array { return $this->platform->getDropTablesSQL($tables); } /** * @param list $sequences * * @return list * * @throws Exception */ private function buildSequenceStatements(array $sequences): array { $statements = []; foreach ($sequences as $sequence) { $statements[] = $this->platform->getDropSequenceSQL($sequence); } return $statements; } }