<?php
namespace Claromentis\Core\DAL\Interfaces;

$GLOBALS["__65da1b1ec2d6653e8a0ab7" . "848e536215"] = (@$GLOBALS["__65da1b1ec2d6653e8a" . "0ab7848e536215"] ?: array()) + array();




interface SchemaInterface
{
    
    
    
    
    
    
    
    
    
    
    public function CreateTable(string $table_name, array $table_desc, bool $drop_before_create = false, bool $temporary = false) : bool;
    
    
    
    
    
    
    
    
    public function GetColumnDescription(string $table_name, string $column_name) : string;
    
    
    
    
    
    
    
    public function DropTable(string $table_name) : bool;
    
    
    
    
    
    
    
    
    
    
    
    public function CreatePrimaryKey(string $table_name, string ...$columns) : bool;
    
    
    
    
    
    
    
    
    
    public function DropPrimaryKey(string $table_name) : bool;
    
    
    
    
    
    
    
    
    
    public function CreateIndex(string $table_name, string $index_name, string ...$columns) : bool;
    
    
    
    
    
    
    
    
    
    public function CreateUniqueIndex(string $table_name, string $index_name, string ...$columns) : bool;
    
    
    
    
    
    
    
    
    
    
    
    public function DropIndex(string $table_name, string $index_name) : bool;
    
    
    
    
    
    
    
    
    
    public function AddColumn(string $table_name, string $col_name, string $col_desc) : bool;
    
    
    
    
    
    
    
    
    public function DropColumn(string $table_name, string $col_name) : bool;
    
    
    
    
    
    
    
    
    
    
    public function AlterColumn(string $table_name, string $col_name, string $new_col_name, string $new_col_desc = null) : bool;
    
    
    
    
    
    
    
    
    public function RenameTable(string $table_name, string $new_table_name) : bool;
}