for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace AL\Common\DAO;
require_once __DIR__."/../../lib/Db.php" ;
require_once __DIR__."/../Model/Database/Change.php" ;
/**
* DAO for DB Change
*/
class ChangeDAO {
private $mysqli;
public function __construct($mysqli) {
$this->mysqli = $mysqli;
}
* Get a single change from it's update ID (NOT the automatically incremented
* id from the database)
* @param number $id Update ID of the change to retrieve
* @return \AL\Common\Model\Database\Change The change
public function getChangeByUpdateId($update_id) {
$stmt = \AL\Db\execute_query(
"ChangeDAO: getChange: $update_id",
$this->mysqli,
"SELECT
database_change_id,
database_update_id,
update_description,
execute_timestamp,
implementation_state,
update_filename,
database_change_script
FROM database_change WHERE database_update_id = ?",
"i", $update_id
);
\AL\Db\bind_result(
$stmt,
$database_change_id,
$database_update_id,
$database_update_id
$update_id
$update_description,
$update_description
$execute_timestamp,
$execute_timestamp
$implementation_state,
$implementation_state
$update_filename,
$update_filename
$database_change_script
$change
$change = null;
if ($stmt->fetch()) {
$change = new \AL\Common\Model\Database\Change(
$stmt->close();
return $change;
* Insert a new change
*
* @param \AL\Common\Model\Database\Change Change to insert
* @return integer ID of the inserted change
public function insertChange($change) {
"ChangeDAO: insertChange",
"INSERT INTO database_change (
) VALUES (?, ?, ?, ?, ?, ?)",
"isisss",
$change->getUpdateId(),
$change->getDescription(),
$change->getTimestamp(),
$change->getState(),
$change->getFilename(),
$change->getScript()
$id = $stmt->insert_id;
return $id;