WP-Query-Builder/Schema.php
2025-02-05 16:57:45 +01:00

35 lines
875 B
PHP

<?php
namespace DatabaseHelper;
use DatabaseHelper\enums\CharsetTypes;
use DatabaseHelper\enums\CollationTypes;
use DatabaseHelper\enums\DatabaseEngines;
class Schema
{
public string $name = '';
public array $columns = [];
public array $primaryKey = [];
public array $foreignKeys = [];
public DatabaseEngines $engine = DatabaseEngines::INNODB;
public CharsetTypes $charset = CharsetTypes::UTF8;
public CollationTypes $collation = CollationTypes::UTF8_GENERAL_CI;
public function __construct(string $name) {
$this->name = $name;
}
public function existsColumn(string $col): bool {
return isset($this->columns[$col]);
}
public function columnType(string $col) {
return $this->columns[$col]['type'];
}
public function primaryKey() {
return $this->columns['primary']['name'];
}
}