[Qgis-developer] PostGIS edition and foreign key

Thibaut Gheysen gheysen.t at gmail.com
Wed Mar 4 01:36:16 PST 2015


Hi,

I do the merge interactively by selecting the 2 parcels and clicking on the
button "merge selected features" from the advanced digitizing toolbar. On
the "merge features attributes" window, I select the attributes of the
parcel A as attributes of the new/merged parcel. Like that the new/merged
parcel as the same primary key than the past parcel A.

Regarding the possibility to create triggers to clean the merge, I have to
think about it but seems a little bit complex given the number of tables
linked to parcel table (not only operation one) and also the fact that
during an editing session we can make multiple merge on the same time.

Regarding the type of foreign key, I have well "ON DELETE NO ACTION".
Defining the foreign key to "ON DELETE CASCADE" or "ON DELETE SET NULL" is
unfortunately not possible.

Best regards,
Thibaut.



2015-03-03 12:10 GMT+01:00 Bernhard Ströbl <bernhard.stroebl at jena.de>:

> Hi,
>
> the question is how you define your foreign key [1], namely what you put
> for "ON DELETE" (you have either NO ACTION or RESTRICT, which throw the
> error you receive) If you set ON DELETE CASCADE the operation would be
> deleted, too, probably not what you want. Maybe you should set ON DELETE
> SET NULL (make sure that the field can be NULL!). Afterwards you reconnect
> the operation and the new parcel.
>
> Bernhard
>
>
> [1] http://www.postgresql.org/docs/current/static/ddl-
> constraints.html#DDL-CONSTRAINTS-FK
>
> Am 03.03.2015 11:14, schrieb Thibaut Gheysen:
>
>> Hi,
>>
>> I would like to have your opinion in order to simplify as much as
>> possible our current workflow.
>>
>> We have a table parcel and a table operation. The table operation
>> include a foreign key to the table parcel. We have 2 parcels (A and B)
>> but only parcel A has operations link on it. I would like to merge the 2
>> parcels by keeping the attributes of the parcel A. The merge is doing
>> properly but impossible to save the edit (Provider errors: PostGIS error
>> while deleting feature: ERROR: update or delete table "parcel" violates
>> foreign key constraint"fk_parcel" on table "operation"). I guess this is
>> due to the fact the Qgis first delete the 2 parcels (A and B) before
>> creating a new one (merged one).
>> This behaviour oblige us to export the table parcel into a shapefile and
>> make the modifications on it. Once done, we import the shapefile into
>> PostGIS and update the parcel geometry base on it.
>>
>> Is there any chance to find an easier workflow, without developing a
>> plug-in ?
>>
>> Thank for your help.
>>
>> Best regards,
>> Thibaut.
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> Qgis-developer mailing list
>> Qgis-developer at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/qgis-developer
>>
>>
>> __________ Information from ESET Mail Security, version of virus
>> signature database 11260 (20150303) __________
>>
>> The message was checked by ESET Mail Security.
>> http://www.eset.com
>>
>>
>
>
> __________ Information from ESET Mail Security, version of virus signature
> database 11260 (20150303) __________
>
> The message was checked by ESET Mail Security.
> http://www.eset.com
>
>
>
> _______________________________________________
> Qgis-developer mailing list
> Qgis-developer at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/qgis-developer
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20150304/16013019/attachment-0001.html>


More information about the Qgis-developer mailing list