/** * 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; }