在 database.yml 中使用 reconnect: true 时,如果连接断开,Rails 将自动重新连接到数据库。然而,当重新连接发生在事务中间时,Rails 似乎完全无知,其效果是,重新连接之前事务的早期部分在连接断开时由数据库自动回滚,但所有由重新连接后的 Rails 只是在新连接上执行 - 在任何事务之外!如果重新连接发生在事务中间,我希望会引发异常,有人知道这样做的任何补丁/宝石吗?
问问题
294 次
在 database.yml 中使用 reconnect: true 时,如果连接断开,Rails 将自动重新连接到数据库。然而,当重新连接发生在事务中间时,Rails 似乎完全无知,其效果是,重新连接之前事务的早期部分在连接断开时由数据库自动回滚,但所有由重新连接后的 Rails 只是在新连接上执行 - 在任何事务之外!如果重新连接发生在事务中间,我希望会引发异常,有人知道这样做的任何补丁/宝石吗?