Subversion Repositories eFlore/Applications.cel

Rev

Rev 2493 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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