<?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;
}
}
|