sql >> データベース >  >> RDS >> PostgreSQL

ActiveRecord ::StatementInvalid:PG InFailedSqlTransaction

    他の回答はどれも根本原因を修正しません 問題の。

    問題は、Postgresが例外を発生させると、同じ接続で将来のトランザクションをポイズニングすることです。

    修正は、問題のあるトランザクションをロールバックすることです:

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

    参考資料を参照してください。



    1. PLSQLを使用してファイルをあるディレクトリから別のディレクトリに移動する方法

    2. Windows用の良いpostgresqlクライアント?

    3. 高可用性のためのMySQLのハイブリッドクラウドレプリケーション

    4. テーブルから最大値で始まるOracleシーケンスを作成するにはどうすればよいですか?