public static function setUpBeforeClass()
 {
     // Create the test DB.
     self::$dbConnection = Database::getConnection();
     $schemaPath = APPLICATION_PATH . '/../data/' . MerchantApplication::app()->getConfig()->db->schema;
     self::$dbConnection->exec(file_get_contents($schemaPath));
 }
 /**
  * Inserts the object data in the database.
  *
  * @return void
  */
 protected function insert()
 {
     $insertFields = static::$tableFields;
     if (empty($this->{$this->tablePkName})) {
         $insertFields = array_slice($insertFields, 1);
     }
     $sql = 'INSERT INTO ' . static::$tableName . ' (' . implode(', ', array_keys($insertFields)) . ')' . ' VALUES (:' . str_replace(' ', ', ', implode(' :', $insertFields)) . ')';
     $dbConnection = Database::getConnection();
     $stmt = $dbConnection->prepare($sql);
     foreach ($insertFields as $fieldName) {
         $stmt->bindParam($fieldName, $this->{$fieldName});
     }
     $stmt->execute();
     $this->{$this->tablePkName} = $dbConnection->lastInsertRowID();
     $this->setIsNew(false);
 }
Exemple #3
0
#!/usr/bin/php
<?php 
/**
 * This file is used to setup the SQLite database.
 *
 * @package MerchantApp\Shell
 * @author  Ruslan Baydan <*****@*****.**>
 */
include 'shellApp.php';
use App\Models\Transaction;
use Library\Model\Database;
use Library\MerchantApplication;
use App\Models\Merchant;
use App\Models\CurrencyConverter;
$config = MerchantApplication::app()->getConfig();
$db = Database::getConnection();
/*
 * Create the database tables.
 */
$schemaPath = APPLICATION_PATH . '/../data/' . $config->db->schema;
if (!file_exists($schemaPath)) {
    throw new Exception('The schema file "' . $config->db->schema . '" does not exist.');
}
$db->exec(file_get_contents($schemaPath));
/*
 * Parse data from CSV and insert into the database.
 */
if (!file_exists($config->testData->filepath)) {
    throw new Exception('Test data file "' . $config->testData->filepath . '" does not exist.');
}
$testCsvData = array_slice(array_map('str_getcsv', file($config->testData->filepath)), 1);