Geometry_type для пространственного столбца не может быть изменен (Запрошенное изменение типа с «MULTIPOLYGON» на «GEOMETRY» для столбца «geom» в таблице X)

С помощью Symfony 2.8.24, Учение 2 а также Учебно-постгисская библиотека Джсора, последний, чтобы заставить Доктрину ладить с пространственными типами, такими как геометрия, география и т. д.

Итак, у меня есть таблица со столбцом типа geometry(MultiPolygon, 3795)по крайней мере, так pgAdmin III (Я использую OpenGeo pgAdmin, который включает в себя PostGIS расширение, наряду с plpgsql)

У меня есть таблицы с пространственной информацией, поэтому я создал свои объекты из этих таблиц через doctrine:mapping:import а также doctrine:mapping:convert команды, которые действительно создали соответствующие классы php без проблем.

ЭТА ПРОБЛЕМА пришел, когда я внес некоторые изменения в другие объекты в моих проектах, объекты, которые даже не имели атрибутов пространственного типа, после этого я попытался "doctrine:schema:update" "--force" синхронизировать базу данных с моими новыми изменениями, и я получаю ошибку из заголовка

Geometry_type для пространственного столбца не может быть изменен (запрашиваемое изменение типа с «MULTIPOLYGON» на «GEOMETRY» для столбца «geom» в таблице «X»)

Фрагмент класса сущности, сгенерированный командами:

/**
* TableName
*
* @ORM\Table(name="TableName", indexes={@ORM\Index(name="sidx_table_name_geom", columns={"geom"})})
* @ORM\Entity
*/
class TableName {

/**
* @var integer
*
* @ORM\Column(name="gid", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="SEQUENCE")
* @ORM\SequenceGenerator(sequenceName="table_name_gid_seq", allocationSize=1, initialValue=1)
*/
private $gid;

/**
* @var MULTIPOLYGON
*
* @ORM\Column(name="geom", type="geometry", options={"geometry_type"="MULTIPOLYGON", "srid"=3795}, nullable=true)
*/
private $geom;
}

Я пытался следовать это решение в github безрезультатно, хотя это была именно моя ситуация.

Любая помощь и понимание приветствуется.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]