Пример #1
0
/**
* UpdateDatabaseState
* Add code to perform actual database updgrad operation 
*
* @param $dbhandle  handle to database
* @return $status   true if operation was successful
*/
function UpdateDatabaseState($dbhandle, $state)
{
    $logger = LoggerSingleton::GetInstance();
    $logger->LogInfo("UpdateDatabaseState - Enter ({$state})");
    $logger->LogInfo("UpdateDatabaseState - Get last row of version table");
    $status = SelectLastRowFrom_Version($dbhandle, $id, $MajorVersion, $MinorVersion, $dbState);
    if (false == $status) {
        $logger->LogError("UpdateDatabaseState - Unable to get last row");
    }
    if (true == $status) {
        $logger->LogInfo("UpdateDatabaseState - Update last row with the db state");
        $status = UpdateInto_Version($dbhandle, $id, $MajorVersion, $MinorVersion, $state);
        if (false == $status) {
            $logger->LogError("UpdateDatabaseState - Unable to change to new state {$state}");
        }
    }
    $logger->LogInfo("UpdateDatabaseState status - {$status}");
    return $status;
}
/**
* Upgrades for MajorVersion = 0, MinorVersion = 0
*
* Add code to perform actual database updgrad operation 
* For first version, create supporting tables
*
* @param $dbhandle  handle to database
* @return $status   true if operation was successful
*/
function V_Major0_Minor0_Upgrade($dbhandle)
{
    $logger = LoggerSingleton::GetInstance();
    $logger->LogInfo("V0_0_Upgrade - Enter ");
    $status = true;
    /* create password table if not persent */
    // check if existing
    if (true == $status) {
        $status = IsExisting_Password($dbhandle);
        $logger->LogInfo("IsExisting Password table status :" . var_export($status, true));
    }
    // Create table
    if (false == $status) {
        $status = CreateTable_Password($dbhandle);
        $logger->LogInfo("Create Password table status : " . var_export($status, true));
    }
    /* Create UserDetails table if not present */
    if (true == $status) {
        $status = IsExisting_UserDetails($dbhandle);
        $logger->LogInfo("IsExisting UserDetails table status :" . var_export($status, true));
    }
    // Create table
    if (false == $status) {
        $status = CreateTable_UserDetails($dbhandle);
        $logger->LogInfo("Create UserDetails table status : " . var_export($status, true));
    }
    /* Create TodoList table if not present already */
    if (true == $status) {
        $status = IsExisting_TodoList($dbhandle);
        $logger->LogInfo("IsExisting TodoList table status :" . var_export($status, true));
    }
    // Create table
    if (false == $status) {
        $status = CreateTable_TodoList($dbhandle);
        $logger->LogInfo("Create TodoList table status : " . var_export($status, true));
    }
    $logger->LogInfo("Exit form V_Major0_Minor0_Upgrade with status :" . var_export($status, true));
    return $status;
}
/**
* Delete row into tables
* 
* @param    $id      provide id of the record to delete
* @return   $status  true if the operation is successful
*/
function DeleteFrom_UserDetails($dbhandle, $id)
{
    $logger = LoggerSingleton::GetInstance();
    $logger->LogInfo("DeleteFrom_UserDetails : Enter");
    global $UserDetailsTable_Id;
    global $UserDetailsTable_Name;
    // delete
    $query = "DELETE FROM {$UserDetailsTable_Name} WHERE {$UserDetailsTable_Id} = {$id}";
    // execte
    $status = $dbhandle->query($query);
    if (false == $status) {
        $logger->LogError("DeleteFrom_UserDetails : Could not delete record - {$dbhandle->error}");
    }
    return $status;
}
Пример #4
0
<!-- Drop Table -->

<?php 
// includes
require_once 'common_require.php';
require_once 'VersionTable.php';
require_once 'UserDetailsTable.php';
require_once 'PasswordTable.php';
require_once 'TodoListTable.php';
$logger = LoggerSingleton::GetInstance();
$logger->LogError("*************************************************************");
$logger->LogError("*\n*  TODO LIST  DROP \n*\n");
$logger->LogError("*************************************************************");
/*
if ($argc < 4)
{
    die("Invalid Syntax. Try : $argv[0] <database name> <username> <password>\n");
}
*/
// get database name
$dbhostname = 'localhost';
$dbname = 'tododb';
$username = '******';
$password = '******';
$status = true;
$logger->LogInfo("Main - Open connection to db");
$dbhandle = new mysqli($dbhostname, $username, $password, $dbname);
if ($dbhandle->connect_error == true) {
    $logger->LogError("Unable to open connection to {$dbname} : {$dbhandle->error}");
    $status = false;
}
/**
* Select row into tables
* 
* @param    table variables
* @param    $userid      provide id of the record to retrieve
* @param    are arrays, to return values by reference // not a good idea
* @return   $status  true if the operation is successful
*/
function SelectByUserIdFrom_TodoList($dbhandle, &$id, $userId, &$priority, &$task_status, &$task, &$createdDate, &$estimatedDate, &$completedDate, &$remainderDate)
{
    $logger = LoggerSingleton::GetInstance();
    $logger->LogInfo("SelectByIdFrom_TodoList : Enter ({$id})");
    global $TodoListTable_Name;
    global $TodoListTable_Id;
    global $TodoListTable_UserId;
    global $TodoListTable_Priority;
    global $TodoListTable_Status;
    global $TodoListTable_CreatedDate;
    global $TodoListTable_EstimatedDate;
    global $TodoListTable_CompletedDate;
    global $TodoListTable_Remainder;
    global $TodoListTable_TaskDescription;
    $status = true;
    // select
    $query = "SELECT * FROM {$TodoListTable_Name}\n            WHERE {$TodoListTable_Id} = {$id}";
    // execte
    $result = $dbhandle->query($query);
    if (FALSE == $result) {
        $logger->LogError("SelectByIdFrom_TodoList : No records with id - {$id} found");
        $status = false;
    }
    $num_rows = $result->num_rows;
    if ($num_rows > 0) {
        while ($row = $result->fetch_assoc()) {
            array_push($id, $row["{$TodoListTable_Id}"]);
            array_push($userId, $row["{$TodoListTable_UserId}"]);
            array_push($priority, $row["{$TodoListTable_Priority}"]);
            array_push($task_status, $row["{$TodoListTable_Status}"]);
            array_push($task, $row["{$TodoListTable_TaskDescription}"]);
            array_push($createdDate, $row["{$TodoListTable_CreatedDate}"]);
            array_push($estimatedDate, $row["{$TodoListTable_EstimatedDate}"]);
            array_push($completedDate, $row["{$TodoListTable_CompletedDate}"]);
            array_push($remainderDate, $row["{$TodoListTable_Remainder}"]);
        }
        $status = true;
    } else {
        $logger->LogError("SelectByIdFrom_TodoList : No records found");
        $status = false;
    }
    return $status;
}
/**
* Delete row into tables
* 
* @param    $id      provide id of the record to delete
* @return   $status  true if the operation is successful
*/
function DeleteFrom_Version($dbhandle, $id)
{
    $logger = LoggerSingleton::GetInstance();
    $logger->LogInfo("DeleteFrom_Version : Enter");
    global $VersionTable_Id;
    global $VersionTable_Name;
    global $VersionTable_MajorVersion;
    global $VersionTable_MinorVersion;
    global $VersionTable_DbState;
    // select
    $query = "DELETE FROM {$VersionTable_Name} WHERE {$VersionTable_Id} = {$id}";
    // execte
    $status = $dbhandle->query($query);
    if (false == $status) {
        $logger->LogError("DeleteFrom_Version : Could not delete record - {$dbhandle->error}");
    }
    return $status;
}