public function getDiff($params)
 {
     // Connect and test accessibility
     $this->manager->connect($params);
     $this->manager->testResources($params);
     // Schema diff
     $schemaDiff = [];
     if ($params->type !== 'data') {
         if ($params->input['kind'] === 'db') {
             $dbSchema = new DBSchema($this->manager);
             $schemaDiff = $dbSchema->getDiff();
         } else {
             $tableSchema = new TableSchema($this->manager);
             $schemaDiff = $tableSchema->getDiff($params->input['source']['table']);
         }
     }
     // Data diff
     $dataDiff = [];
     if ($params->type !== 'schema') {
         if ($params->input['kind'] === 'db') {
             $dbData = new DBData($this->manager);
             $dataDiff = $dbData->getDiff();
         } else {
             $tableData = new TableData($this->manager);
             $dataDiff = $tableData->getDiff($params->input['source']['table']);
         }
     }
     return ['schema' => $schemaDiff, 'data' => $dataDiff];
 }