Ejemplo n.º 1
0
 /** @return int|void */
 public static function exec($query, $args = null, $flags = 0)
 {
     if (!self::$default && self::$connectHandler) {
         self::$connectHandler[0]->{self::$connectHandler[1]}();
     }
     return self::$default->exec($query, $args, $flags);
 }
Ejemplo n.º 2
0
 /**
  *
  *
  *
  *
  */
 public function alias()
 {
     $this->checkData();
     console::writeLn("Generating geoalias table");
     $db = new DatabaseConnection();
     $db->exec('DROP TABLE IF EXISTS geoalias');
     $db->exec('CREATE TABLE geoalias (id INT PRIMARY KEY AUTO_INCREMENT, geoid BIGINT, locname VARCHAR(64) CHARSET utf8, INDEX locname(locname(5))) CHARSET utf8');
     $rows = $db->getRows("SELECT id,alternatenames FROM geonames WHERE alternatenames!=''");
     console::write('%8d / %8d ', 0, count($rows));
     foreach ($rows as $row) {
         $alt = explode(',', $row['alternatenames']);
         foreach ($alt as $altstr) {
             $db->insertRow("INSERT INTO geoalias (geoid,locname) VALUES (%d,%s)", $row['id'], $altstr);
         }
         $rc++;
         $rt++;
         if ($rt >= 100) {
             $rh++;
             if ($rh >= 50) {
                 console::write("\n%8d / %8d ", $rc, count($rows));
                 $rh = 0;
             } else {
                 console::write('.');
             }
             $rt = 0;
         }
     }
     console::writeLn(' Done!');
 }
Ejemplo n.º 3
0
 public function initialize($rootuser = null)
 {
     console::writeLn(__astr('\\b{Initializing database}'));
     $db = config::get('lepton.db.default');
     $dbc = config::get('lepton.db.default');
     console::writeLn("  Database:  %s", $dbc['database']);
     console::writeLn("  User:      %s", $dbc['username']);
     console::writeLn("  Host:      %s", $dbc['hostname']);
     switch ($db['driver']) {
         case 'pdo/mysql':
         case 'mysql':
             console::writeLn("  Driver:    MySQL");
             break;
         default:
             console::fatal('This version of the script does not support anything else than MySQL');
             exit(1);
     }
     console::writeLn(__astr("\n\\b{Creating database and user}"));
     console::writeLn("  The script can create the database and the user. Hit enter to skip this step.");
     console::write("  Password for root user: "******"SHOW DATABASES LIKE %s", $dbc['database']);
         if (count($dblist) == 0) {
             console::writeLn("Creating database...");
             try {
                 $conn->exec(sprintf("CREATE DATABASE %s;", $dbc['database']));
             } catch (Exception $e) {
                 console::writeLn("Not successful, does the database already exist?");
             }
         }
         console::writeLn("Creating user...");
         $conn->exec(sprintf("GRANT ALL ON %s.* TO %s@localhost IDENTIFIED BY '%s';", $dbc['database'], $dbc['username'], $dbc['password']));
         $conn->exec("USE " . $dbc['database']);
     } else {
         console::writeLn("No password specified, ignoring database and user creation.");
         $conn = new DatabaseConnection();
     }
     console::writeLn(__astr("\n\\b{Importing tables}"));
     $f = glob(base::basePath() . '/dist/sql/*.sql');
     foreach ($f as $fn) {
         $fc = file_get_contents($fn);
         console::writeLn("  [sys] %s", basename($fn));
         $conn->exec($fc);
     }
     $f = glob(base::appPath() . '/sql/*.sql');
     foreach ($f as $fn) {
         $fc = file_get_contents($fn);
         console::writeLn("  [app] %s", basename($fn));
         $conn->exec($fc);
     }
     console::writeLn("All done.");
 }