added autochatc database handler from DBmodel instance,

added set rootDir for Creator,
added deduct numeric (unix timestamp) for datetime column,
added method existsTable for Maintenance
This commit is contained in:
2025-06-01 19:22:50 +02:00
parent 8a3dfbe9f0
commit 877ca38c0b
3 changed files with 29 additions and 9 deletions

View File

@ -4,10 +4,19 @@ namespace TPsoft\DBmodel;
class Creator {
private $dbh;
private DBmodel $dbh;
private string $rootDir = '';
public function __construct($dbh) {
$this->dbh = $dbh;
public function __construct(?DBmodel $dbh = null) {
if (is_null($dbh)) {
if (!is_null(DBmodel::$instance)) {
$this->dbh = DBmodel::$instance;
} else {
throw new \Exception('DB handler is null');
}
} else {
$this->dbh = $dbh;
}
}
public function interact() {
@ -97,7 +106,7 @@ class ".$name." extends \TPsoft\DBmodel\DBmodel {
public $"."tables = array(
'".$entity."' => array(
'name' => '".$entity."',
'name' => '".$tablename."',
'primary_key_name' => ".$primary_key_name.",
'allow_attributes' => array(
".implode(",\n\t\t\t\t", $allowed_attributes)."
@ -166,11 +175,14 @@ class ".$name." extends \TPsoft\DBmodel\DBmodel {
return $line;
}
public function rootDir() {
public function rootDir(?string $dir = null) {
if (!is_null($dir)) {
$this->rootDir = $dir;
}
if (strlen($this->rootDir) > 0) return $this->rootDir;
return dirname(dirname(__FILE__));
}
}
?>