public function onSchemaDropTable(SchemaDropTableEventArgs $args) { if ($this->schemaManager->isPostGis2()) { return; } $table = $args->getTable(); $hasSpatialGeometryColumn = count($this->schemaManager->listSpatialGeometryColumns($table->getName())) > 0; if ($hasSpatialGeometryColumn) { $args->setSql("SELECT DropGeometryTable('" . $table->getName() . "')")->preventDefault(); } }
public function testListSpatialGeometryColumnsWithReservedWords() { $schemaManager = new SchemaManager($this->_getConnection()); $expected = array('user'); $this->assertEquals($expected, $schemaManager->listSpatialGeometryColumns('"user"')); }
public function testListSpatialGeometryColumns() { $schemaManager = new SchemaManager($this->_getConnection()); $expected = array('geometry', 'point', 'point_2d', 'point_3dz', 'point_3dm', 'point_4d', 'point_2d_nullable', 'point_2d_nosrid'); $this->assertEquals($expected, $schemaManager->listSpatialGeometryColumns('foo.points')); }