Line 19... |
Line 19... |
19 |
-- Ajoute le champ «ce_observation» dans «cel_images»
|
19 |
-- Ajoute le champ «ce_observation» dans «cel_images»
|
20 |
ALTER TABLE `cel_images` ADD `ce_observation` BIGINT NULL AFTER `id_image`;
|
20 |
ALTER TABLE `cel_images` ADD `ce_observation` BIGINT NULL AFTER `id_image`;
|
Line 21... |
Line 21... |
21 |
|
21 |
|
22 |
-- Met à jour la table cel_image avec les données de cel_obs_images
|
22 |
-- Met à jour la table cel_image avec les données de cel_obs_images
|
23 |
START TRANSACTION;
|
23 |
START TRANSACTION;
|
24 |
UPDATE cel_images, cel_obs_images
|
24 |
UPDATE cel_images AS ci, cel_obs_images AS coi
|
25 |
SET cel_images.ce_observation = cel_obs_images.id_observation,
|
25 |
SET ci.ce_observation = coi.id_observation,
|
26 |
cel_images.date_liaison = cel_obs_images.date_liaison
|
26 |
ci.date_liaison = coi.date_liaison
|
27 |
WHERE cel_images.id_image = cel_obs_images.id_image
|
27 |
WHERE ci.id_image = coi.id_image
|
28 |
AND cel_obs_images.id_image != '0';
|
28 |
AND coi.id_image != '0';
|
Line 29... |
Line 29... |
29 |
COMMIT;
|
29 |
COMMIT;
|
30 |
|
30 |
|
Line 31... |
Line 31... |
31 |
-- Ajout index sur ce_observation
|
31 |
-- Ajout index sur ce_observation
|
32 |
CREATE INDEX ce_observation ON cel_images (ce_observation);
|
32 |
CREATE INDEX ce_observation ON cel_images (ce_observation);
|
33 |
|
33 |
|
34 |
-- Mise à jour du champ «transmission» de la table «cel_images» à partir des données de «cel_obs»
|
34 |
-- Mise à jour du champ «transmission» de la table «cel_images» à partir des données de «cel_obs»
|
35 |
START TRANSACTION;
|
35 |
START TRANSACTION;
|
36 |
UPDATE cel_images, cel_obs
|
36 |
UPDATE cel_images AS ci, cel_obs AS co
|
37 |
SET cel_images.transmission = cel_obs.transmission,
|
37 |
SET ci.transmission = co.transmission,
|
38 |
cel_images.date_transmission = cel_obs.date_transmission
|
38 |
ci.date_transmission = co.date_transmission
|
Line 39... |
Line 39... |
39 |
WHERE cel_images.ce_observation = cel_obs.id_observation
|
39 |
WHERE ci.ce_observation = co.id_observation
|
40 |
AND (cel_images.ce_observation IS NOT NULL OR cel_images.ce_observation != 0);
|
40 |
AND (ci.ce_observation IS NOT NULL OR ci.ce_observation != 0);
|
Line 41... |
Line 41... |
41 |
COMMIT;
|
41 |
COMMIT;
|
- |
|
42 |
|
- |
|
43 |
-- Suppression de la table cel_obs_image inutile
|
- |
|
44 |
RENAME TABLE cel_obs_images TO cel_obs_images_obsolete;
|
- |
|
45 |
|
- |
|
46 |
-- -----------------------------------------------------
|
- |
|
47 |
|
- |
|
48 |
-- Champs ce_utilisateur de cel_obs peut être NULL
|
- |
|
49 |
ALTER TABLE cel_obs CHANGE ce_utilisateur ce_utilisateur VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL;
|
- |
|
50 |
|
- |
|
51 |
-- Suppression index id_obs
|
- |
|
52 |
ALTER TABLE cel_obs DROP INDEX id_obs;
|
- |
|
53 |
|
- |
|
54 |
-- Correction du champ ce_utilisateur pour la table cel_images
|
- |
|
55 |
UPDATE cel_obs SET ce_utilisateur = NULL WHERE ce_utilisateur LIKE '%@%' OR ce_utilisateur = '';
|
- |
|
56 |
|
- |
|
57 |
-- Correction index id_obs
|
- |
|
58 |
CREATE UNIQUE INDEX id_obs ON cel_obs (ordre, ce_utilisateur, courriel_utilisateur);
|
- |
|
59 |
|
- |
|
60 |
-- Correction index date_creation
|
- |
|
61 |
ALTER TABLE cel_obs DROP INDEX date_creation;
|
- |
|
62 |
CREATE INDEX utilisateur_date_creation ON cel_obs (ce_utilisateur, date_creation, id_observation);
|
- |
|
63 |
|
- |
|
64 |
-- -----------------------------------------------------
|
- |
|
65 |
|
- |
|
66 |
-- Correction données en erreurs (bloque la génération des index)
|
- |
|
67 |
START TRANSACTION;
|
- |
|
68 |
SET @ordre = 1;
|
- |
|
69 |
UPDATE cel_images SET ordre = @ordre := @ordre+1
|
- |
|
70 |
WHERE ce_utilisateur = 20207 AND courriel_utilisateur = 'jardin-de-claire@orange.fr';
|
- |
|
71 |
COMMIT;
|
- |
|
72 |
|
- |
|
73 |
START TRANSACTION;
|
- |
|
74 |
SET @ordre = 1;
|
- |
|
75 |
UPDATE cel_images SET ordre = @ordre := @ordre+1
|
- |
|
76 |
WHERE ce_utilisateur = 16501 AND courriel_utilisateur = 'alexis.joly@inria.fr';
|
- |
|
77 |
COMMIT;
|
- |
|
78 |
|
- |
|
79 |
START TRANSACTION;
|
- |
|
80 |
SET @ordre = 1;
|
- |
|
81 |
UPDATE cel_images SET ordre = @ordre := @ordre+1
|
- |
|
82 |
WHERE ce_utilisateur = 10261 AND courriel_utilisateur = 'kti-moreau@orange.fr';
|
- |
|
83 |
COMMIT;
|
- |
|
84 |
|
- |
|
85 |
START TRANSACTION;
|
- |
|
86 |
SET @ordre = 1;
|
- |
|
87 |
UPDATE cel_images SET ordre = @ordre := @ordre+1
|
- |
|
88 |
WHERE ce_utilisateur = 18989 AND courriel_utilisateur = 'laetitia.goeau@free.fr';
|
- |
|
89 |
COMMIT;
|
- |
|
90 |
|
- |
|
91 |
START TRANSACTION;
|
- |
|
92 |
SET @ordre = 1;
|
- |
|
93 |
UPDATE cel_images SET ordre = @ordre := @ordre+1
|
- |
|
94 |
WHERE ce_utilisateur = 20667 AND courriel_utilisateur = 'catalina20@hotmail.fr';
|
- |
|
95 |
COMMIT;
|
- |
|
96 |
|
- |
|
97 |
START TRANSACTION;
|
- |
|
98 |
SET @ordre = 1;
|
- |
|
99 |
UPDATE cel_images SET ordre = @ordre := @ordre+1
|
- |
|
100 |
WHERE ce_utilisateur = 11785 AND courriel_utilisateur = 'pierre.bonnet@cirad.fr';
|
- |
|
101 |
COMMIT;
|
- |
|
102 |
|
- |
|
103 |
-- Champ ce_utilisateur de cel_images peut être NULL
|
- |
|
104 |
ALTER TABLE cel_images CHANGE ce_utilisateur ce_utilisateur VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL;
|
- |
|
105 |
|
- |
|
106 |
-- Correction index id_image
|
- |
|
107 |
ALTER TABLE cel_images DROP INDEX id_image;
|
- |
|
108 |
|
- |
|
109 |
-- Correction du champ ce_utilisateur pour la table cel_images
|
- |
|
110 |
START TRANSACTION;
|
- |
|
111 |
UPDATE cel_images SET ce_utilisateur = NULL
|
- |
|
112 |
WHERE ce_utilisateur LIKE '%@%' OR ce_utilisateur = '';
|
- |
|
113 |
COMMIT;
|
- |
|
114 |
|
- |
|
115 |
-- Correction index id_image
|
- |
|
116 |
CREATE UNIQUE INDEX id_img ON cel_images (ordre, ce_utilisateur, courriel_utilisateur);
|
- |
|
117 |
|
- |
|
118 |
-- Correction index ce_utilisateur_2
|
- |
|
119 |
ALTER TABLE cel_images DROP INDEX ce_utilisateur_2;
|
- |
|
120 |
CREATE INDEX utilisateur_date_creation ON cel_images (ce_utilisateur, date_creation, id_image);
|
- |
|
121 |
|
- |
|
122 |
-- Correction du champ date_modification dans la table cel_images
|
- |
|
123 |
START TRANSACTION;
|
- |
|
124 |
UPDATE cel_images SET
|
- |
|
125 |
date_modification = GREATEST(
|
- |
|
126 |
IFNULL(date_creation, '0000-00-00 00:00:00'),
|
- |
|
127 |
IFNULL(date_transmission, '0000-00-00 00:00:00'),
|
- |
|
128 |
IFNULL(date_modification, '0000-00-00 00:00:00'),
|
- |
|
129 |
IFNULL(date_liaison, '0000-00-00 00:00:00')
|
- |
|
130 |
);
|
- |
|
131 |
COMMIT;
|
- |
|
132 |
|
- |
|
133 |
-- Correction du champ date_modification dans la table cel_obs
|
- |
|
134 |
START TRANSACTION;
|
- |
|
135 |
UPDATE cel_obs AS co, cel_images AS ci
|
- |
|
136 |
SET co.date_modification = GREATEST(
|
- |
|
137 |
IFNULL(co.date_creation, '0000-00-00 00:00:00'),
|
- |
|
138 |
IFNULL(co.date_transmission, '0000-00-00 00:00:00'),
|
- |
|
139 |
IFNULL(co.date_modification, '0000-00-00 00:00:00'),
|
42 |
|
140 |
IFNULL(ci.date_liaison, '0000-00-00 00:00:00')
|
43 |
-- Suppression de la table cel_obs_image inutile
|
141 |
)
|
44 |
RENAME TABLE cel_obs_images TO cel_obs_images_obsolete;
|
142 |
WHERE co.id_observation = ci.ce_observation ;
|
45 |
|
143 |
COMMIT;
|