SQLite3数据库在生产几天后开始在写入时抛出SQLException

时间:2017-05-02 15:52:55

标签: ruby ruby-on-rails-3 sqlite

我们有一个使用SQLite 3数据库的小型内部Ruby on Rails服务。在完美运行几天后,它在尝试保存模型时开始抛出以下异常:

ActiveRecord::StatementInvalid (SQLite3::SQLException: cannot start a transaction within a transaction: begin transaction)

抛出此错误的Ruby代码很简单:

@rule.save

其中规则是我们要保存到数据库的模型。

一旦发生此错误,我们将无法再通过Rails应用程序写入sqlite数据库。重新启动应用程序后,它会再次运行几天。

由于重新启动Rails应用程序似乎解决了这个问题,我只能猜测它是以某种方式保持数据库事务处于打开状态。我没有写这个应用程序,并且是Ruby的新手。什么可能导致这种情况以及诊断问题的最佳方法是什么?

0 个答案:

没有答案