Commit b29f8d99 authored by Jonathan Campbell's avatar Jonathan Campbell

Ignore pseudo-system objects in table list

These objects are created by turning on replication and they have column types (sysname, xml) that are not supported by Doctrine. 

According to Microsoft's support, these are "'pseudo-system' object[s]" that appear in the User Table type instead of the System Table type.

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/135ec547-2214-4da3-bd42-5c458759e144/sysobjectscategory
parent 40fd0047
...@@ -813,7 +813,8 @@ class SQLServerPlatform extends AbstractPlatform ...@@ -813,7 +813,8 @@ class SQLServerPlatform extends AbstractPlatform
public function getListTablesSQL() public function getListTablesSQL()
{ {
// "sysdiagrams" table must be ignored as it's internal SQL Server table for Database Diagrams // "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";
} }
/** /**
......
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