php_db_components_pack/sources/traits/Database/DatabaseTableManagement.php
2025-08-04 18:05:04 +03:00

49 lines
2.0 KiB
PHP

<?php
/**
* @noinspection SqlNoDataSourceInspection
*/
namespace goodboyalex\php_db_components_pack\traits\Database;
use goodboyalex\php_db_components_pack\classes\tm_drivers\MSSQLTableManager;
use goodboyalex\php_db_components_pack\classes\tm_drivers\MySQLTableManager;
use goodboyalex\php_db_components_pack\classes\tm_drivers\OracleDBTableManager;
use goodboyalex\php_db_components_pack\classes\tm_drivers\PostgreSQLTableManager;
use goodboyalex\php_db_components_pack\classes\tm_drivers\SQLiteTableManager;
use goodboyalex\php_db_components_pack\enums\DBDriver;
use PDO;
/**
* Трейт для управления таблицами базы данных.
*
* @author Александр Бабаев
* @package php_components_pack
* @version 1.0
* @since 1.0
* @see PDO
*/
trait DatabaseTableManagement
{
/**
* Проверяет, существует ли таблица.
*
* @param string $tableName Имя таблицы.
*
* @return bool Результат проверки: <code>true</code> - таблица существует, <code>false</code> - не существует.
*/
public function IsTableExist (string $tableName): bool
{
// Получаю систему управления таблицами БД
$dbDrv = match ($this->Config->Driver) {
DBDriver::MySQL => new MySQLTableManager(),
DBDriver::MSSQL => new MSSQLTableManager(),
DBDriver::PostgreSQL => new PostgreSQLTableManager(),
DBDriver::OracleDB => new OracleDBTableManager(),
DBDriver::SQLite => new SQLiteTableManager()
};
// Проверяю существование таблицы, вывожу результат
return $dbDrv->isTableExist($this->DataBaseHandle, $tableName);
}
}