* @package PHPCI * @subpackage Plugins */ class Pgsql implements \PHPCI\Plugin { protected $phpci; protected $queries = array(); protected $host; protected $user; protected $pass; public function __construct(\PHPCI\Builder $phpci, array $options = array()) { $this->phpci = $phpci; $this->queries = $options; $buildSettings = $phpci->getConfig('build_settings'); if (isset($buildSettings['pgsql'])) { $sql = $buildSettings['pgsql']; $this->host = $sql['host']; $this->user = $sql['user']; $this->pass = $sql['pass']; } } /** * Connects to PgSQL and runs a specified set of queries. */ public function execute() { try { $opts = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION); $pdo = new PDO('pgsql:host=' . $this->host, $this->user, $this->pass, $opts); foreach ($this->queries as $query) { $pdo->query($query); } } catch (\Exception $ex) { $this->phpci->logFailure($ex->getMessage()); return false; } return true; } }