php-yaoi/php-yaoi

View on GitHub
src/Database/Pgsql/Utility.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php

namespace Yaoi\Database\Pgsql;

use Yaoi\Database\Definition\Column;
use Yaoi\Database\Definition\Table;

class Utility extends \Yaoi\Database\Utility
{
    /**
     * @param $tableName
     * @return Table
     */
    public function getTableDefinition($tableName)
    {
        $schemaReader = new SchemaReader($this->database);
        return $schemaReader->getTableDefinition($tableName);
    }


    public function generateCreateTableOnDefinition(Table $table) {
        return new CreateTable($table);
    }

    public function getColumnTypeString(Column $column)
    {
        $typeString = new TypeString($this->database);
        return $typeString->getByColumn($column);
    }


    /**
     * @inheritdoc
     */
    public function checkColumn(Column $table)
    {
    }

    public function generateAlterTable(Table $before, Table $after)
    {
        return new AlterTable($before, $after);
    }

    public function tableExists($tableName)
    {
        $rows = $this->database->select()
            ->select('/* table exists check */ 1')
            ->from('information_schema.tables')
            ->where('table_catalog = ?', $this->database->getSchemaName())
            ->where('table_name = ?', $tableName)
            ->query()
            ->fetchRow();
        return (bool)$rows;
    }


}