/** * Recursive function to generate * @param CDialectBase $tables [description] * @param CTable $tbl [description] * @param string $eol [description] */ private function generateTableDsl($tables, $tbl, $eol = "\n") { $nullablecols = array(); $uniquecols = array(); $tblName = $tbl->getName(); $tableFormat = $this->tableFormat; $this->writtenTables[] = $tblName; $fkcolumns = $tbl->getForeignKeyColumns(); list($tableDslString, $fkDslString) = $this->getDslTextForTable($tbl, $nullablecols, $uniquecols, $fkcolumns); $returnText = "[" . $tableFormat($tbl) . "|" . $tableDslString; $returnText .= ($fkDslString ? "|" . $fkDslString : null) . "]"; $this->addForeignKeys($returnText, $tbl, $tables, $nullablecols, $uniquecols); return $returnText . $eol; }