Skip to content

Commit

Permalink
Revert "Revert "Fix postgres Schema::hastable (#13008)""
Browse files Browse the repository at this point in the history
This reverts commit 023d0a0.
  • Loading branch information
GrahamCampbell committed Jun 6, 2016
1 parent 023d0a0 commit 0973bfa
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 1 deletion.
15 changes: 15 additions & 0 deletions src/Illuminate/Database/PostgresConnection.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,28 @@

namespace Illuminate\Database;

use Illuminate\Database\Schema\PostgresBuilder;
use Doctrine\DBAL\Driver\PDOPgSql\Driver as DoctrineDriver;
use Illuminate\Database\Query\Processors\PostgresProcessor;
use Illuminate\Database\Query\Grammars\PostgresGrammar as QueryGrammar;
use Illuminate\Database\Schema\Grammars\PostgresGrammar as SchemaGrammar;

class PostgresConnection extends Connection
{
/**
* Get a schema builder instance for the connection.
*
* @return \Illuminate\Database\Schema\PostgresBuilder
*/
public function getSchemaBuilder()
{
if (is_null($this->schemaGrammar)) {
$this->useDefaultSchemaGrammar();
}

return new PostgresBuilder($this);
}

/**
* Get the default query grammar instance.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ class PostgresGrammar extends Grammar
*/
public function compileTableExists()
{
return 'select * from information_schema.tables where table_name = ?';
return 'select * from information_schema.tables where table_schema = ? and table_name = ?';
}

/**
Expand Down
23 changes: 23 additions & 0 deletions src/Illuminate/Database/Schema/PostgresBuilder.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?php

namespace Illuminate\Database\Schema;

class PostgresBuilder extends Builder
{
/**
* Determine if the given table exists.
*
* @param string $table
* @return bool
*/
public function hasTable($table)
{
$sql = $this->grammar->compileTableExists();

$schema = $this->connection->getConfig('schema');

$table = $this->connection->getTablePrefix().$table;

return count($this->connection->select($sql, [$schema, $table])) > 0;
}
}

0 comments on commit 0973bfa

Please sign in to comment.