コード例 #1
0
 /**
  * Lee la tablas existentes y genera un archivo yml
  * con el esquema de la base de datos.
  *
  * Este método solo funciona con BDs mysql
  *
  * El archivo generado tiene el nombre de la base de datos
  *
  * @return boolean TRUE si se construyo con éxito
  */
 public function buildSchema()
 {
     $arrayTablas = array();
     $dblink = mysql_connect($this->host, $this->user, $this->password);
     mysql_select_db($this->database, $dblink);
     $query = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='" . $this->database . "'";
     $result = mysql_query($query, $dblink);
     while ($row = mysql_fetch_array($result)) {
         $entity = new EntityBuilder($row['TABLE_NAME']);
         $arrayTabla = $entity->getSchema();
         $arrayTablas[$row['TABLE_NAME']] = $arrayTabla[$row['TABLE_NAME']];
     }
     unset($entity);
     $yml = "# ESQUEMA DE LA BD " . $this->database . "\n\n";
     $yml .= sfYaml::dump($arrayTablas, 2);
     $archivo = new Archivo($this->database . ".yml");
     $ok = $archivo->write($yml);
     unset($archivo);
     return $ok;
 }