# Bizarre Import-Probleme – MySQL-Abfrage gibt PG::Result zurück?

**URL:** <https://meta.discourse.org/t/bizarre-import-issue-mysql-query-returning-pg-result/126852>\
**Category:** Development\
**Created:** [26. August 2019 um 17:51 UTC](https://meta.discourse.org/t/bizarre-import-issue-mysql-query-returning-pg-result/126852 "2019-08-26T17:51:21Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Post date:** [26. August 2019 um 17:51 UTC](https://meta.discourse.org/t/bizarre-import-issue-mysql-query-returning-pg-result/126852/1 "2019-08-26T17:51:21Z")

</div>

Das bringt mich auf den Holzweg. Hier ist `mysql_query`:

```ruby
  def mysql_query(sql)
    begin
      #puts "Query: \n#{sql}"
      @client.query(sql, cache_rows: true)
    rescue Exception => ex
      begin
        ActiveRecord::Base.connection.reconnect!
      rescue
        puts "Datenbankverbindung fehlgeschlagen, neuer Versuch in 10 Sekunden"
        sleep 10
        puts "Zeit für einen neuen Versuch. . . "
        @client.query(sql, cache_rows: true)
      end
    end
  end

```

Die ersten ca. 5 Millionen Beiträge wurden erfolgreich importiert, aber jetzt liefert

```
        posts = mysql_query(query).to_a

```

nicht das MySQL-Ergebnis zurück, sondern stattdessen:

```
 [#<PG::Result:0x0000563f3ee6d8d0 status=PGRES_COMMAND_OK ntuples=0 nfields=0 cmd_tuples=0>]

```

Ich bin jetzt zu folgendem Trick gegriffen:

```ruby
      while !posts[-1].is_a?(Hash)
        puts "Posts: #{posts}"
        ActiveRecord::Base.connection.reconnect!
        @mysql_client = Mysql2::Client.new(
          host: DB_HOST,
          username: DB_USER,
          password: DB_PW,
          database: DB_NAME
        )
        posts = mysql_query(query).to_a
      end

```

Das fängt das Problem ab und löst es, aber es schlägt immer noch bei fast jeder Abfrage fehl (manchmal schaffen es sogar 3 Abfragen mit je 5000 Datensätzen). Ich habe es als Schleife geschrieben, aber ich vermute, dass sie nie mehr als einmal durchläuft. Kurzzeitig dachte ich, vielleicht würde etwas anderes `@client` verwenden und eine PG-Abfrage dort hineinstecken, also bin ich zu `@mysql_client` gewechselt, aber das hat das Problem nicht behoben.

Ich habe ein wenig im Internet gesucht, aber nichts gefunden.

Mein Hack funktioniert, also ist es wohl „behoben“, aber ich bin immer noch neugierig, was genau das verursacht.

---

_[View the full topic](https://meta.discourse.org/t/bizarre-import-issue-mysql-query-returning-pg-result/126852)._
