754 |
raphael |
1 |
-- date d'observation dans le futur
|
819 |
raphael |
2 |
UPDATE `BASEEDIT`.`cel_obs` SET date_observation = NULL WHERE date_observation > now();
|
754 |
raphael |
3 |
-- cleanup
|
819 |
raphael |
4 |
UPDATE `BASEEDIT`.`cel_obs` SET date_observation = NULL WHERE date_observation = '0000-00-00 00:00:00';
|
754 |
raphael |
5 |
-- cleanup
|
819 |
raphael |
6 |
UPDATE `BASEEDIT`.`cel_obs` SET latitude = NULL, longitude = NULL WHERE longitude = 0 and latitude = 0;
|
754 |
raphael |
7 |
|
|
|
8 |
-- referentiels: 65800 NULL, 13000 ''
|
819 |
raphael |
9 |
UPDATE `BASEEDIT`.`cel_obs` SET nom_referentiel = SUBSTRING_INDEX(nom_referentiel, ':', 1);
|
|
|
10 |
UPDATE `BASEEDIT`.`cel_obs` SET nom_referentiel = 'bdtfx' WHERE nom_referentiel IN ('bdtfx_v1','bdnff');
|
756 |
raphael |
11 |
|
780 |
raphael |
12 |
-- pas de raison historique mémorisée à une différence '' vs NULL
|
819 |
raphael |
13 |
UPDATE `BASEEDIT`.`cel_obs` SET nom_referentiel = NULL where nom_referentiel = '';
|
780 |
raphael |
14 |
|
882 |
raphael |
15 |
-- uniformisation NULL / vide pour nom_sel
|
|
|
16 |
UPDATE `BASEEDIT`.`cel_obs` SET nom_sel = NULL WHERE nom_sel = '';
|
|
|
17 |
|
|
|
18 |
-- uniformisation NULL / vide pour nom_sel_nn
|
|
|
19 |
UPDATE `BASEEDIT`.`cel_obs` SET nom_sel_nn = NULL WHERE nom_sel_nn = 0;
|
|
|
20 |
|
|
|
21 |
-- restauration de nom_sel vraisemblablement valides, mais vides: 48 obs
|
|
|
22 |
UPDATE `BASEEDIT`.`cel_obs` SET nom_sel = nom_ret WHERE nom_sel IS NULL AND nom_ret IS NOT NULL AND nom_ret != '' AND nom_sel_nn IS NOT NULL;
|
|
|
23 |
|
|
|
24 |
|
756 |
raphael |
25 |
-- suppression des infos générées pour les observations dont le nom_sel à été supprimé par l'utilisateur
|
882 |
raphael |
26 |
-- 3380
|
819 |
raphael |
27 |
UPDATE `BASEEDIT`.`cel_obs` c SET
|
756 |
raphael |
28 |
c.nom_ret = '',
|
|
|
29 |
c.nom_sel_nn = NULL,
|
|
|
30 |
c.nom_ret = NULL,
|
|
|
31 |
c.nom_ret_nn = NULL,
|
|
|
32 |
c.nt = NULL,
|
780 |
raphael |
33 |
c.famille = NULL
|
882 |
raphael |
34 |
WHERE nom_sel IS NULL OR nom_ret = 'undefined';
|
760 |
raphael |
35 |
|
882 |
raphael |
36 |
-- problème n°1: mauvais référentiel (bdtfx au lieu de bdtxa), on utilise les lieudit "bdtxa" pour
|
|
|
37 |
-- corriger les observations qui pourraient être étiquetées avec un mauvais nom_referentiel: 49 obs
|
|
|
38 |
CREATE TEMPORARY TABLE T_cleanref (lieu VARCHAR(255)) ENGINE=MEMORY AS ( SELECT DISTINCT TRIM(lieudit) FROM `BASEEDIT`.`cel_obs` WHERE nom_referentiel = 'bdtxa' );
|
|
|
39 |
UPDATE `BASEEDIT`.`cel_obs` SET nom_referentiel = 'bdtxa' WHERE nom_referentiel != 'bdtxa' AND lieudit != '' AND lieudit IN (SELECT lieu FROM T_cleanref);
|
|
|
40 |
DROP TEMPORARY TABLE T_cleanref;
|
769 |
raphael |
41 |
|
882 |
raphael |
42 |
-- problème n°2: backslashes + newline: 90 + 217 obs
|
819 |
raphael |
43 |
UPDATE `BASEEDIT`.`cel_obs` SET commentaire = REPLACE(commentaire, "\n\\\'", "'");
|
|
|
44 |
UPDATE `BASEEDIT`.`cel_obs` SET commentaire = REPLACE(commentaire, "\\\'", "'");
|
777 |
raphael |
45 |
|
882 |
raphael |
46 |
-- problème n°3: ce_zone_geo inutile: 57802 obs
|
819 |
raphael |
47 |
UPDATE `BASEEDIT`.`cel_obs` SET ce_zone_geo = NULL WHERE ce_zone_geo = 'INSEE-C:';
|
882 |
raphael |
48 |
|
|
|
49 |
-- trim nom_sel
|
896 |
raphael |
50 |
UPDATE `BASEEDIT`.`cel_obs` SET nom_sel = REPLACE(nom_sel, '\\', '');
|
895 |
raphael |
51 |
UPDATE `BASEEDIT`.`cel_obs` SET nom_sel = TRIM(LEADING "." FROM TRIM("\t" FROM TRIM(nom_sel)));
|
|
|
52 |
UPDATE `BASEEDIT`.`cel_obs` SET nom_sel = TRIM(TRIM('\\' FROM TRIM('‘' FROM TRIM('‘' FROM TRIM('"' FROM nom_sel))))) WHERE nom_sel REGEXP '^[\\"‘’].*[\\"‘’]$';
|
|
|
53 |
UPDATE `BASEEDIT`.`cel_obs` SET nom_sel = TRIM("'" FROM nom_sel) WHERE nom_sel REGEXP "^'.*'$"; -- ' relax emacs
|
|
|
54 |
UPDATE `BASEEDIT`.`cel_obs` SET nom_sel = TRIM('"' FROM nom_sel) WHERE nom_sel REGEXP '^"[^"]+$';
|
|
|
55 |
UPDATE `BASEEDIT`.`cel_obs` SET nom_sel = REPLACE(nom_sel, 'A©', 'é') WHERE nom_sel LIKE '%A©%';
|
882 |
raphael |
56 |
-- nom_ret = "null"
|
|
|
57 |
UPDATE `BASEEDIT`.`cel_obs` SET nom_ret = NULL WHERE nom_ret = 'null';
|
|
|
58 |
|
925 |
raphael |
59 |
|
|
|
60 |
-- inconsistence de date_transmission avec transmission (cf r1860)
|
|
|
61 |
UPDATE TABLE `BASEEDIT`.`cel_obs` SET date_transmission = date_creation WHERE date_transmission IS NULL AND transmission = 1;
|
|
|
62 |
UPDATE TABLE `BASEEDIT`.`cel_obs` SET date_transmission = NULL WHERE date_transmission IS NOT NULL AND transmission = 0;
|