lter / deims

The Drupal Ecological Information Management System install profile. Repo used for development.
http://drupal.org/project/deims
10 stars 16 forks source link

Geofield 1.2 built with default precision #143

Closed isangil closed 8 years ago

isangil commented 8 years ago

Fields have float mysql default precision, which results in 4 digits after the comma. This is often not good enough. This is well known and addressed in geofield. Patch was added about three years ago https://www.drupal.org/files/geofield-sql-field-type-numeric-1456180-13.patch

Version geofield 7.x-2.x does not have this issue, since it was buillt well from the start. Let's try the patch for new builds, and for existing DEIMS there may be a workaround using 6 SQL alter statements for each related table like alter table field_data_field_coordinates modify field_coordinates_bottom FLOAT(18,12);

isangil commented 8 years ago

You might ask, why not geofield 2.x? Well, we could, but there'll be a rewrite of other parts of the codebase, as the fields are somewhat different. In the future, OK.

isangil commented 8 years ago

the patch contains a fix for existing tables, will need to test that to issue recommendations.

testing. patch fuss (offset) but works.

isangil commented 8 years ago

.. and it works - a reasearch site was created with 10 decimals after the comma in coordinates.

let's test on existing.

isangil commented 8 years ago

the patch works for existing sites. with caveats.

patch -p1 < patchname.patch; drush updb

however, existing data might have been already truncated, so it does not recover original data. would be wise to create backup of relevant tables.

isangil commented 8 years ago

the commit https://github.com/lter/deims/commit/dff6e96d677bf89a1aa8b9f2bdb5d06dae21db1c fixes this issue.