public function parse(Database $database, array $additionalTables = [])
    {
        $tableWraps = [];

        $this->parseTables($tableWraps, $database);
        foreach ($additionalTables as $table) {
            $this->parseTables($tableWraps, $database, $table);
        }

        // Now populate only columns.
        foreach ($tableWraps as $wrap) {
            $this->addColumns($wrap->table, $wrap->oid);
        }

        // Now add indexes and constraints.
        foreach ($tableWraps as $wrap) {
            $this->addForeignKeys($wrap->table, $wrap->oid);
            $this->addIndexes($wrap->table, $wrap->oid);
            $this->addPrimaryKey($wrap->table, $wrap->oid);
        }

        $this->addSequences($database);

        return count($tableWraps);
    }
public function parse(Database $database, array $additionalTables = [])
    {
        $tableWraps = [];

        $this->parseTables($tableWraps, $database);
        foreach ($additionalTables as $table) {
            $this->parseTables($tableWraps, $database, $table);
        }

        // Now populate only columns.
        foreach ($tableWraps as $wrap) {
            $this->addColumns($wrap->table, $wrap->oid);
        }

        // Now add indexes and constraints.
        foreach ($tableWraps as $wrap) {
            $this->addForeignKeys($wrap->table, $wrap->oid);
            $this->addIndexes($wrap->table, $wrap->oid);
            $this->addPrimaryKey($wrap->table, $wrap->oid);
        }

        $this->addSequences($database);

        return count($tableWraps);
    }
public function parse ( Database $ database , array $ additionalTables = [ ] ) { $ tableWraps = [ ] ; $ this -> parseTables ( $ tableWraps , $ database ) ; foreach ( $ additionalTables as $ table ) { $ this -> parseTables ( $ tableWraps , $ database , $ table ) ; } // Now populate only columns. foreach ( $ tableWraps as $ wrap ) { $ this -> addColumns ( $ wrap -> table , $ wrap -> oid ) ; } // Now add indexes and constraints. foreach ( $ tableWraps as $ wrap ) { $ this -> addForeignKeys ( $ wrap -> table , $ wrap -> oid ) ; $ this -> addIndexes ( $ wrap -> table , $ wrap -> oid ) ; $ this -> addPrimaryKey ( $ wrap -> table , $ wrap -> oid ) ; } $ this -> addSequences ( $ database ) ; return count ( $ tableWraps ) ; }
Parses a database schema.

@param  Database $database
@param  Table[]  $additionalTables
@return integer
Parses a database schema .