コード例 #1
0
 /**
  * Removes an environment from the database.
  *
  * @param \commpress\Cli\Entity\Environment $environment
  *      The environment to remove.
  *
  * @throws \commpress\Cli\Service\Database\Exception\DatabaseQueryException
  *      If something goes wrong.
  */
 public function removeEnvironment(Environment $environment)
 {
     $query = sprintf('DELETE FROM %s WHERE %s = :id', self::TABLE_ENVIRONMENTS, Environment::FIELD_ID);
     $stmt = $this->database->prepare($query);
     $stmt->bindValue(':' . Environment::FIELD_ID, $environment->getId());
     $result = $stmt->execute();
     $stmt->close();
     if (!$result) {
         throw new DatabaseQueryException(sprintf('Failed to remove environment [ id: %d ] from database.', $environment->getId()));
     }
 }
コード例 #2
0
 /**
  * Returns the project by acronym from database.
  *
  * @param string $acronym
  *      The acronym to search for.
  *
  * @return \commpress\Cli\Entity\Project
  *      The project.
  *
  * @throws \commpress\Cli\Service\Database\Exception\DatabaseQueryException
  *      If something goes wrong.
  */
 public function getProjectByAcronym($acronym)
 {
     $project = null;
     $query = sprintf('SELECT * FROM %s WHERE %s = :acronym', self::TABLE_PROJECTS, Project::FIELD_SHORT_NAME);
     $stmt = $this->database->prepare($query);
     $stmt->bindValue(':acronym', $acronym);
     $result = $stmt->execute();
     if ($result) {
         $data = $result->fetchArray(SQLITE3_ASSOC);
         if (!$data) {
             throw new DatabaseQueryException(sprintf('Unable to get project with acronym "%s" from database.', $acronym));
         }
         $project = ProjectModel::buildEntity($data);
         $stmt->close();
     }
     return $project;
 }