<?php 
/** 
 * * 
 *  * please don't remove this comment block 
 *  * 
 *  * @author phptricks Team - Mohammad Anzawi 
 *  * @author_uri https://phptricks.org 
 *  * @uri https://github.com/anzawi/php-database-class 
 *  * @version 5.0.0 
 *  * @licence MIT -> https://opensource.org/licenses/MIT 
 *  * @package PHPtricks\Orm 
 * 
 */ 
 
namespace PHPtricks\Orm\DDL; 
 
/** 
 * this trait for (create and drop table's) 
 * 
 * @package PHPtricks\Orm\DDL 
 */ 
trait Create 
{ 
 
    /** 
     * this method to run sql statement and create table 
     * 
     * @param  string  $createStatement  its create statement -> i mean you can 
     *     change it to ->  CREATE :table IF NOT EXIST 
     * 
     * @return bool 
     */ 
    public function create($createStatement = "CREATE TABLE" 
    ) // you can use (CREATE TABLE IF NOT EXIST) 
    { 
        $createStatement = $createStatement." :table "; 
        // check if table is not exist 
        // by default in (try catch) block we can detect this problem 
        // but if you want to display a custom error message you can uncomment 
        // this (if) block and set your error message 
        /*if($this->tableExist($this->_table)) 
        { 
            print ("Oops.. the table {$this->_table} already Exists in " 
                . config('host_name') . "/" . config("db_name")); 
            die; 
        }*/ 
 
        $createStatement = str_replace(':table', $this->_table, 
            $createStatement); 
 
        try { 
            $this->_pdo->exec($createStatement.$this->_schema); 
        } catch (\PDOException $e) { 
            $this->setError($e->getMessage()); 
 
            return false; 
        } 
 
        return true; 
    } 
 
    /** 
     * @return bool 
     */ 
    public function drop() 
    { 
        try { 
            $this->_pdo->exec("DROP TABLE {$this->_table}"); 
        } catch (\PDOException $e) { 
            die($e->getMessage()); 
        } 
 
        return true; 
    } 
 
}
 
 |