//columns to be renamed $columns = array(array('table' => 'channels', 'before' => 'title_en', 'after' => 'title'), array('table' => 'links', 'before' => 'text', 'after' => 'title'), array('table' => 'pages', 'before' => 'isInstancePage', 'after' => 'is_hidden'), array('table' => 'pages', 'before' => 'name', 'after' => 'title'), array('table' => 'pages', 'before' => 'helpText', 'after' => 'description'), array('table' => 'users', 'before' => 'image', 'after' => 'image_large')); foreach ($columns as $c) { extract($c); if (!db_column_exists($table, $after)) { db_column_rename($table, $before, $after); echo draw_li($table . '.' . $before . ' was renamed to ' . $after); } else { echo draw_li($after . ' already existed in ' . $table); } } echo '</ul>'; //fix column types echo draw_h3('Fix Column Types'); echo '<ul>'; $tables = db_tables(); foreach ($tables as $t) { $columns = db_columns($t); //die(draw_array($columns)); if (!stristr($t, '_to_') && !stristr($t, '_2_') && $t != 'it_system_status' && $t != 'docs_views' && $t != 'ldcodes' && $t != 'queries_executions' && $t != 'web_income_tables_values' && $columns[0]['type'] == 'int' && !$columns[0]['auto']) { //set first column to PRIMARY KEY AUTO_INCREMENT db_column_key($t, $columns[0]['name']); echo draw_li('set ' . $t . '.' . $columns[0]['name'] . ' to primary key auto_increment'); } $replacements = array('bit' => 'tinyint', 'longtext' => 'text', 'longblob' => 'mediumblob'); foreach ($columns as $c) { if (isset($replacements[$c['type']])) { db_column_type_set($t, $c['name'], $replacements[$c['type']]); echo draw_li('set ' . $t . '.' . $c['name'] . ' from ' . $c['type'] . ' to ' . $replacements[$c['type']]); } }
param("d", $d); // nombre de base de datos param("t", $t); // nombre de la tabla param("c", $c); // command $meta = db_open_meta(); if (!$d) { // pedimos $d y $t si no estan // mostrar bases de datos $dbs = db_databases($meta); echo h3("Seleciona una base:") . ul(tarray("li", array_map("link_database", $dbs))); } else { if (!$t) { // mostrar tablas $tables = db_tables($meta, $d); echo h3("Seleciona una tabla:") . ul(tarray("li", array_map("link_table", $tables))); } else { // entrada principal $qs = "?d={$d}&t={$t}"; // guardamos los parametros para el query string (ahora veo que quise decir .= pero funciona asi tambien) $con = db_open($d); // si es solo para los nombres de las columnas ... el SELECT los devuelve // luego podemos necesitar mas cosas $cols = db_getColumns($meta, $d, $t); // PC::db($cols, "getcols"); foreach ($cols[1] as $i) { $columnas[] = $i[0]; } // guardamos la clave primaria, debe estar exactamente una $pk = db_getPK($meta, $d, $t);
save_query(); break; case 'db_table_struct': db_table_struct(); break; case 'db_table_struct_select': db_table_struct_select(); break; case 'add_query': add_query(); break; case 'edit_query': edit_query(); break; case 'db_tables': db_tables(); break; case 'show_stats': show_stats(); break; case 'generate_xml': generate_xml(); break; case 'generate_csv': generate_csv(); break; case 'paypal_info': paypal_info(); break; case 'default': setdefault();