X-Git-Url: http://git.cyclocoop.org/?p=ptitvelo%2Fweb%2Fwww.git;a=blobdiff_plain;f=www%2Fecrire%2Fbase%2Fcreate.php;fp=www%2Fecrire%2Fbase%2Fcreate.php;h=2b974596aee406f563113420ac1e70c1ff8a3bf6;hp=02450d5968782a3d897da3cff433cbd9174d9c57;hb=f854641371bdfbaba8fbab6212853d9795ba8cc8;hpb=d18fcb8f27a4016e3fa7b50a9b2255d529dca543 diff --git a/www/ecrire/base/create.php b/www/ecrire/base/create.php index 02450d5..2b97459 100644 --- a/www/ecrire/base/create.php +++ b/www/ecrire/base/create.php @@ -55,13 +55,33 @@ function base_determine_autoinc($table,$desc=array()){ * @return void */ function creer_ou_upgrader_table($table,$desc,$autoinc,$upgrade=false,$serveur='') { + #spip_log("creer_ou_upgrader_table table=$table autoinc=$autoinc upgrade=$upgrade","dbinstall"._LOG_INFO_IMPORTANTE); $sql_desc = $upgrade ? sql_showtable($table,true,$serveur) : false; + #if (!$sql_desc) $sql_desc = false; + #spip_log("table=$table sql_desc:$sql_desc","dbinstall"._LOG_INFO_IMPORTANTE); if (!$sql_desc) { if ($autoinc==='auto') $autoinc = base_determine_autoinc($table,$desc); + #spip_log("sql_create $table autoinc=$autoinc","dbinstall"._LOG_INFO_IMPORTANTE); sql_create($table, $desc['field'], $desc['key'], $autoinc, false, $serveur); + // verifier la bonne installation de la table (php-fpm es-tu la ?) + $sql_desc = sql_showtable($table,true,$serveur); + #if (!$sql_desc) $sql_desc = false; + #spip_log("Resultat table=$table sql_desc:$sql_desc","dbinstall"._LOG_INFO_IMPORTANTE); + if (!$sql_desc){ + // on retente avec un sleep ? + sleep(1); + sql_create($table, $desc['field'], $desc['key'], $autoinc, false, $serveur); + $sql_desc = sql_showtable($table,true,$serveur); + #if (!$sql_desc) $sql_desc = false; + #spip_log("Resultat table=$table sql_desc:$sql_desc","dbinstall"._LOG_INFO_IMPORTANTE); + if (!$sql_desc){ + spip_log("Echec creation table $table","maj"._LOG_CRITIQUE); + } + } } else { + #spip_log("sql_alter $table ... (on s'en fiche)","dbinstall"._LOG_INFO_IMPORTANTE); // ajouter les champs manquants // on ne supprime jamais les champs, car c'est dangereux // c'est toujours a faire manuellement