Commit df8eba37 authored by David Zuelke's avatar David Zuelke

Merge branch 'master' into database_url

parents 59e17b53 ea3715a1
......@@ -264,7 +264,8 @@ class PostgreSqlPlatform extends AbstractPlatform
WHERE table_schema NOT LIKE 'pg_%'
AND table_schema != 'information_schema'
AND table_name != 'geometry_columns'
AND table_name != 'spatial_ref_sys'";
AND table_name != 'spatial_ref_sys'
AND table_type != 'VIEW'";
}
/**
......
......@@ -813,7 +813,8 @@ class SQLServerPlatform extends AbstractPlatform
public function getListTablesSQL()
{
// "sysdiagrams" table must be ignored as it's internal SQL Server table for Database Diagrams
return "SELECT name FROM sysobjects WHERE type = 'U' AND name != 'sysdiagrams' ORDER BY name";
// Category 2 must be ignored as it is "MS SQL Server 'pseudo-system' object[s]" for replication
return "SELECT name FROM sysobjects WHERE type = 'U' AND name != 'sysdiagrams' AND category != 2 ORDER BY name";
}
/**
......
......@@ -319,6 +319,30 @@ class PostgreSqlSchemaManagerTest extends SchemaManagerFunctionalTestCase
$this->assertFalse($comparator->diffTable($offlineTable, $onlineTable));
}
public function testListTablesExcludesViews()
{
$this->createTestTable('list_tables_excludes_views');
$name = "list_tables_excludes_views_test_view";
$sql = "SELECT * from list_tables_excludes_views";
$view = new Schema\View($name, $sql);
$this->_sm->dropAndCreateView($view);
$tables = $this->_sm->listTables();
$foundTable = false;
foreach ($tables as $table) {
$this->assertInstanceOf('Doctrine\DBAL\Schema\Table', $table, 'No Table instance was found in tables array.');
if (strtolower($table->getName()) == 'list_tables_excludes_views_test_view') {
$foundTable = true;
}
}
$this->assertFalse($foundTable, 'View "list_tables_excludes_views_test_view" must not be found in table list');
}
}
class MoneyType extends Type
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment