Der vollständige Fehler istActive Fehler: SAVE active_record_1 existiert nicht
ActiveRecord::StatementInvalid: Mysql2::Error: SAVEPOINT active_record_1 does not exist: ROLLBACK TO SAVEPOINT active_record_1
ich einen Unit-Test schreibe und immer diese Fehlermeldung, wenn ich versuche, ein neues Active Objekt zu erstellen - aber erst nach einem gewissen Punkt. Dies geschieht nach diesen Zeilen:
ActiveRecord::Base.connection.execute "DROP TABLE IF EXISTS foo"
ActiveRecord::Base.connection.execute "CREATE TABLE foo (id INTEGER PRIMARY KEY)"
(Die ‚foo‘ Tabelle mit Daten gefüllt werden, wenn mein Test erfolgreich)
Vor den obigen Zeilen, ich so etwas wie
User.create(email => '[email protected]')
schreiben und alles funktioniert gut. Wenn ich jedoch versuche, die obige Zeile nach meinem Aufruf von ActiveRecord :: Base.connection.execute zu schreiben, erhalte ich den oben beschriebenen SAVEPOINT-Fehler. Ich habe auch versucht, meine Execute-Anweisungen innerhalb einer Transaktion zu setzen, aber das hat nicht geholfen. Ich bin ratlos.
FYI - Ich bin mit Rails 3.2.8
Wie machst du das? –