source: trunk/admin/aggiornadb.php@ 340

Last change on this file since 340 was 338, checked in by roby, 4 years ago

seconda fase di adeguamento al php 7.2
sistemazione delle funzioni di gestione delle circoscrizionali e dei collegi

File size: 7.7 KB
RevLine 
[296]1<?php
[324]2
[338]3#implementare controllo con: SHOW INDEX FROM tua_tabella WHERE tua_tabella.tua_colonna='nome_colonna';
[296]4@require_once("config.php");
5 try{
6 $dbi = new PDO("mysql:host=$dbhost;charset=latin1", $dbuname, $dbpass, array(PDO::ATTR_EMULATE_PREPARES => false, PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION));
7 $sql = "use $dbname";
8 $dbi->exec($sql);
9 }
10 catch(PDOException $e)
11 {
12 die( $sql . "<br>" . $e->getMessage());
13 }
14###############
[324]15function aggiorna($sql,$dbi,$sql2){
[330]16 $ret=0;
[296]17 try{
18 $res = $dbi->prepare("$sql");
19 $res->execute();
[330]20 $ret= 1;
[296]21 }
22 catch(PDOException $e)
23 {
[330]24 $ret=0;
25 }
26
27 if("$sql2"!=""){
28 try{
29 $res = $dbi->prepare("$sql2");
30 $res->execute();
31 $ret=2;
32 }
33 catch(PDOException $e)
34 {
35 $ret=0;
36 }
[296]37 }
[330]38 return $ret;
[324]39}
40
41
42$sql="SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = '$dbname' AND COLUMN_NAME = 'Versione'";
43 $res = $dbi->prepare("$sql");
44 $res->execute();
45if($res->rowCount())
46{
[325]47 $sql="alter table `soraldo_config` change column `Versione` `versione` int(3)";
48 $ret=aggiorna($sql,$dbi,'');
[296]49}
50
51$num=1;
[324]52#$sql="alter table `soraldo_config` change column `Versione` `versione` int(3)";
53#$ret=aggiorna($sql,$dbi);
54#if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
55$sql="ALTER TABLE `soraldo_ele_gruppo` ADD `num_circ` INT(2) UNSIGNED NOT NULL AFTER `id_circ`";
56$ret=aggiorna($sql,$dbi,'');
[297]57if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
[324]58$sql="ALTER TABLE `soraldo_ele_voti_gruppo` ADD `num_gruppo` INT(2) UNSIGNED NOT NULL AFTER `id_sez`";
59$ret=aggiorna($sql,$dbi,'');
[296]60if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
[324]61$sql="ALTER TABLE `soraldo_ele_lista` ADD `num_gruppo` INT(2) UNSIGNED NOT NULL AFTER `id_gruppo`";
62$ret=aggiorna($sql,$dbi,'');
[296]63if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
[324]64$sql="ALTER TABLE `soraldo_ele_lista` ADD `num_circ` INT(2) UNSIGNED NOT NULL AFTER `id_circ`";
65$ret=aggiorna($sql,$dbi,'');
[296]66if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
[324]67$sql="ALTER TABLE `soraldo_ele_voti_lista` ADD `num_lista` INT(2) UNSIGNED NOT NULL AFTER `id_sez`";
68$ret=aggiorna($sql,$dbi,'');
[296]69if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
[324]70$sql="ALTER TABLE `soraldo_ele_voti_ref` ADD `num_gruppo` INT(2) UNSIGNED NOT NULL AFTER `id_sez`";
71$ret=aggiorna($sql,$dbi,'');
[296]72if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
[324]73$sql="ALTER TABLE `soraldo_ele_voti_candidati` ADD `num_cand` INT(2) UNSIGNED NOT NULL AFTER `id_sez`";
74$ret=aggiorna($sql,$dbi,'');
[296]75if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
[324]76$sql="ALTER TABLE `soraldo_ele_candidati` ADD `num_lista` INT(2) UNSIGNED NOT NULL AFTER `id_lista`";
77$ret=aggiorna($sql,$dbi,'');
[296]78if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
[324]79$sql="ALTER TABLE `soraldo_ele_voti_ref` DROP INDEX `id_cons`; ";
80$sql2="ALTER TABLE `soraldo_ele_voti_ref` ADD INDEX `id_cons` (`id_cons`, `id_gruppo`) USING BTREE";
81$ret=aggiorna($sql,$dbi,$sql2);
[330]82if(!$ret)
83 echo "<br>".$num++.") Fallito: $sql";
84elseif ($ret==1)
85 echo "<br>".$num++.") Index eliminato";
86else
87 echo "<br>".$num++.") Index aggiunto";
[324]88$sql="ALTER TABLE `soraldo_ele_voti_lista` DROP INDEX `id_cons`";
89$sql2="ALTER TABLE `soraldo_ele_voti_lista` ADD INDEX `id_cons` (`id_cons`, `id_sez`, `id_lista`) USING BTREE";
90$ret=aggiorna($sql,$dbi,$sql2);
[330]91if(!$ret)
92 echo "<br>".$num++.") Fallito: $sql";
93elseif ($ret==1)
94 echo "<br>".$num++.") Index eliminato";
95else
96 echo "<br>".$num++.") Index aggiunto";
[324]97$sql="ALTER TABLE `soraldo_ele_voti_gruppo` DROP INDEX `id_cons`";
98$sql2="ALTER TABLE `soraldo_ele_voti_gruppo` ADD INDEX `id_cons` (`id_cons`, `id_sez`, `id_gruppo`) USING BTREE";
99$ret=aggiorna($sql,$dbi,$sql2);
[330]100if(!$ret)
101 echo "<br>".$num++.") Fallito: $sql";
102elseif ($ret==1)
103 echo "<br>".$num++.") Index eliminato";
104else
105 echo "<br>".$num++.") Index aggiunto";
[324]106$sql="ALTER TABLE `soraldo_ele_voti_candidati` DROP INDEX `id_cons`";
107$sql2="ALTER TABLE `soraldo_ele_voti_candidati` ADD INDEX `id_cons` (`id_cons`, `id_sez`, `id_cand`) USING BTREE";
108$ret=aggiorna($sql,$dbi,$sql2);
[330]109if(!$ret)
110 echo "<br>".$num++.") Fallito: $sql";
111elseif ($ret==1)
112 echo "<br>".$num++.") Index eliminato";
113else
114 echo "<br>".$num++.") Index aggiunto";
[324]115$sql="ALTER TABLE `soraldo_ele_lista` DROP INDEX `id_cons`";
116$sql2="ALTER TABLE `soraldo_ele_lista` ADD INDEX `id_cons` (`id_cons`, `id_gruppo`) USING BTREE";
117$ret=aggiorna($sql,$dbi,$sql2);
[330]118if(!$ret)
119 echo "<br>".$num++.") Fallito: $sql";
120elseif ($ret==1)
121 echo "<br>".$num++.") Index eliminato";
122else
123 echo "<br>".$num++.") Index aggiunto";
[324]124$sql="ALTER TABLE `soraldo_ele_lista` DROP INDEX `PRIMARY`";
125$sql2="ALTER TABLE `soraldo_ele_lista` ADD PRIMARY KEY (`id_lista`) USING BTREE";
126$ret=aggiorna($sql,$dbi,$sql2);
[330]127if(!$ret)
128 echo "<br>".$num++.") Fallito: $sql";
129elseif ($ret==1)
130 echo "<br>".$num++.") Index eliminato";
131else
132 echo "<br>".$num++.") Index aggiunto";
[324]133$sql="ALTER TABLE `soraldo_ele_gruppo` DROP INDEX `id_cons`";
134$sql2="ALTER TABLE `soraldo_ele_gruppo` ADD INDEX `id_cons` (`id_cons`, `id_circ`) USING BTREE";
135$ret=aggiorna($sql,$dbi,$sql2);
[330]136if(!$ret)
137 echo "<br>".$num++.") Fallito: $sql";
138elseif ($ret==1)
139 echo "<br>".$num++.") Index eliminato";
140else
141 echo "<br>".$num++.") Index aggiunto";
[324]142$sql="ALTER TABLE `soraldo_ele_gruppo` DROP INDEX `PRIMARY`";
143$sql2="ALTER TABLE `soraldo_ele_gruppo` ADD PRIMARY KEY (`id_gruppo`) USING BTREE";
144$ret=aggiorna($sql,$dbi,$sql2);
[330]145if(!$ret)
146 echo "<br>".$num++.") Fallito: $sql";
147elseif ($ret==1)
148 echo "<br>".$num++.") Index eliminato";
149else
150 echo "<br>".$num++.") Index aggiunto";
[324]151$sql="ALTER TABLE `soraldo_ele_candidati` DROP INDEX `id_cons`";
152$sql2="ALTER TABLE `soraldo_ele_candidati` ADD INDEX `id_cons` (`id_cons`, `id_lista`) USING BTREE";
153$ret=aggiorna($sql,$dbi,$sql2);
[330]154if(!$ret)
155 echo "<br>".$num++.") Fallito: $sql";
156elseif ($ret==1)
157 echo "<br>".$num++.") Index eliminato";
158else
159 echo "<br>".$num++.") Index aggiunto";
[324]160$sql="ALTER TABLE `soraldo_ele_candidati` DROP INDEX `PRIMARY`";
161$sql2="ALTER TABLE `soraldo_ele_candidati` ADD PRIMARY KEY (`id_cand`) USING BTREE";
162$ret=aggiorna($sql,$dbi,$sql2);
[330]163if(!$ret)
164 echo "<br>".$num++.") Fallito: $sql";
165elseif ($ret==1)
166 echo "<br>".$num++.") Index eliminato";
167else
168 echo "<br>".$num++.") Index aggiunto";
[324]169$sql="ALTER TABLE `soraldo_ele_sezioni` ADD `colore` VARCHAR(50) NULL AFTER `solo_lista`";
170$ret=aggiorna($sql,$dbi,'');
[296]171if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
172$sql="CREATE TABLE if not exists`soraldo_ele_controlli` ( `id_cons` INT(11) NOT NULL , `id_sez` INT(11) NOT NULL , `tipo` VARCHAR(10) NOT NULL , `id` INT(11) NOT NULL , INDEX `sezione` (`id_sez`)) ENGINE = MyISAM";
[324]173$ret=aggiorna($sql,$dbi,'');
[296]174if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
[298]175$sql="update `soraldo_ele_voti_gruppo` as t1 left join `soraldo_ele_gruppo` as t2 on t1.id_gruppo=t2.id_gruppo set t1.num_gruppo=t2.num_gruppo;";
[324]176$ret=aggiorna($sql,$dbi,'');
[298]177if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
[300]178$sql="update `soraldo_ele_voti_lista` as t1 left join `soraldo_ele_lista` as t2 on t1.id_lista=t2.id_lista set t1.num_lista=t2.num_lista;";
[324]179$ret=aggiorna($sql,$dbi,'');
[300]180if(!$ret) echo "<br>".$num++.") Fallito: $sql"; else echo "<br>".$num++.") Aggiornato<br>";
[296]181
182?>
Note: See TracBrowser for help on using the repository browser.