sql >> Database teknologi >  >> RDS >> PostgreSQL

ActiveRecord::StatementInvalid:PG InFailedSqlTransaction

Ingen af ​​de andre svar løser rodårsagen af spørgsmålet.

Problemet er, at når Postgres rejser en undtagelse, forgifter det fremtidige transaktioner på den samme forbindelse.

Rettelsen er at rulle tilbage den fornærmende transaktion:

begin
  ActiveRecord...do something...
rescue Exception => e
  puts "SQL error in #{ __method__ }"
  ActiveRecord::Base.connection.execute 'ROLLBACK'

  raise e
end

Se reference.



  1. Tildeling af rettigheder til lagret procedure til en anden bruger af Oracle

  2. docker postgres pgadmin lokal forbindelse

  3. Heroku Postgres:psql:FATAL:ingen pg_hba.conf-indgang for vært

  4. MySQL MED klausul