original_string: public function start()
      {
          $tablesAndViews = $this->dataBase->showTables($this->prefix);
          $this->tables = $tablesAndViews['tables'];
          $this->views = $tablesAndViews['views'];
  
          $this->foreignKeys['all'] = $this->dataBase->getAllForeignKeys();
          $this->foreignKeys['ordered'] = $this->getAllForeignKeysOrderedByTable();
  
          foreach ($this->tables as $key => $table) {
              $this->describes[$table] = $this->dataBase->describeTable($table);
  
              if ($this->isManyToMany($table, true)) {
                  $this->junctionTables[] = $table;
                  unset($this->tables[$key]);
              }
          }
          unset($table);
  
          foreach ($this->tables as $table) {
              $model = new Model();
              $model->buildModel(
                  $table,
                  $this->baseModel,
                  $this->describes,
                  $this->foreignKeys,
                  $this->namespace,
                  $this->prefix
              );
  
              $model->createModel();
  
              $result = $this->writeFile($table, $model);
  
              echo 'file written: '.$result['filename'].' - '.$result['result'].' bytes'.BR;
              flush();
          }
          echo 'done'.BR;
      }
code: public function start()
      {
          $tablesAndViews = $this->dataBase->showTables($this->prefix);
          $this->tables = $tablesAndViews['tables'];
          $this->views = $tablesAndViews['views'];
  
          $this->foreignKeys['all'] = $this->dataBase->getAllForeignKeys();
          $this->foreignKeys['ordered'] = $this->getAllForeignKeysOrderedByTable();
  
          foreach ($this->tables as $key => $table) {
              $this->describes[$table] = $this->dataBase->describeTable($table);
  
              if ($this->isManyToMany($table, true)) {
                  $this->junctionTables[] = $table;
                  unset($this->tables[$key]);
              }
          }
          unset($table);
  
          foreach ($this->tables as $table) {
              $model = new Model();
              $model->buildModel(
                  $table,
                  $this->baseModel,
                  $this->describes,
                  $this->foreignKeys,
                  $this->namespace,
                  $this->prefix
              );
  
              $model->createModel();
  
              $result = $this->writeFile($table, $model);
  
              echo 'file written: '.$result['filename'].' - '.$result['result'].' bytes'.BR;
              flush();
          }
          echo 'done'.BR;
      }
code_tokens: public function start ( ) { $ tablesAndViews = $ this -> dataBase -> showTables ( $ this -> prefix ) ; $ this -> tables = $ tablesAndViews [ 'tables' ] ; $ this -> views = $ tablesAndViews [ 'views' ] ; $ this -> foreignKeys [ 'all' ] = $ this -> dataBase -> getAllForeignKeys ( ) ; $ this -> foreignKeys [ 'ordered' ] = $ this -> getAllForeignKeysOrderedByTable ( ) ; foreach ( $ this -> tables as $ key => $ table ) { $ this -> describes [ $ table ] = $ this -> dataBase -> describeTable ( $ table ) ; if ( $ this -> isManyToMany ( $ table , true ) ) { $ this -> junctionTables [ ] = $ table ; unset ( $ this -> tables [ $ key ] ) ; } } unset ( $ table ) ; foreach ( $ this -> tables as $ table ) { $ model = new Model ( ) ; $ model -> buildModel ( $ table , $ this -> baseModel , $ this -> describes , $ this -> foreignKeys , $ this -> namespace , $ this -> prefix ) ; $ model -> createModel ( ) ; $ result = $ this -> writeFile ( $ table , $ model ) ; echo 'file written: ' . $ result [ 'filename' ] . ' - ' . $ result [ 'result' ] . ' bytes' . BR ; flush ( ) ; } echo 'done' . BR ; }
docstring: This is where we start.
  
  @throws Exception
docstring_tokens: This is where we start .