/** * @param SqlInterface $query * @return void */ public function execute(SqlInterface $query) { $platform = new Platform($this->adapter); $platform->setSubject($query); if (defined('ANELEGAN_DB_DEBUG') && ANELEGAN_DB_DEBUG) { $this->console->writeLine(PHP_EOL . $platform->getSqlString($this->adapter->getPlatform()) . PHP_EOL); } else { $this->adapter->query($platform->getSqlString(), Adapter::QUERY_MODE_EXECUTE); } }
/** * @param SqlInterface $query * @return void */ public function execute(SqlInterface $query) { $time = microtime(true); $adapterPlatform = $this->adapter->getPlatform(); if ($query instanceof ZendCreateTable) { $this->console->write(' > create table ' . $adapterPlatform->quoteIdentifier($query->getRawState(ZendCreateTable::TABLE)) . '...'); } elseif ($query instanceof ZendAlterTable) { $this->console->write(' > alter table ' . $adapterPlatform->quoteIdentifier($query->getRawState(ZendAlterTable::TABLE)) . '...'); } elseif ($query instanceof TruncateTable) { $this->console->write(' > truncate table ' . $adapterPlatform->quoteIdentifier($query->getRawState(TruncateTable::TABLE)) . '...'); } elseif ($query instanceof DropTable) { $this->console->write(' > drop table ' . $adapterPlatform->quoteIdentifier($query->getRawState(DropTable::TABLE)) . '...'); } elseif ($query instanceof Insert) { $this->console->write(' > insert into ' . $adapterPlatform->quoteIdentifier($query->getRawState('table')) . '...'); } elseif ($query instanceof Update) { $this->console->write(' > update table ' . $adapterPlatform->quoteIdentifier($query->getRawState('table')) . '...'); } elseif ($query instanceof Delete) { $this->console->write(' > delete from ' . $adapterPlatform->quoteIdentifier($query->getRawState('table')) . '...'); } else { throw new InvalidArgumentException(sprintf('Parameter of a method %s must be a executable Sql statement that modifies a table.', __METHOD__)); } $platform = new Platform($this->adapter); $platform->setSubject($query); if (defined('ANELEGAN_DB_DEBUG') && ANELEGAN_DB_DEBUG) { $this->console->write(PHP_EOL . $platform->getSqlString($this->adapter->getPlatform()) . PHP_EOL); } else { $this->adapter->query($platform->getSqlString(), Adapter::QUERY_MODE_EXECUTE); } $this->console->writeLine(' done (time: ' . sprintf('%.3f', microtime(true) - $time) . 's)'); }