今日在Rails console中做出一次错误查询之后,出现如上错误:
Risk.find_by(some_key:1)
注意Risk类没有some_key这个属性,果然出错了:
PG::UndefinedColumn: ERROR: column risks.some_key does not exist
不但如此,之后的任何合法操作全部出错:
PG::InFailedSqlTransaction: ERROR: current transaction is aborted, commands ignored until end of transaction block
由于我是用的是postgresql,如果发生这种情况需要重新commit或者rollback:
ActiveRecord::Base.connection.execute 'ROLLBACK'
之后查询都正常了.