问题描述
我面临的情况如下:
- 初始化数据库连接:
DB = Sequel.connect('<my-connection-string>')
- 像往常一样将其用于原始查询(在本例中为 SQL):
DB['SELECT * FROM my-db'].each do |row|
puts 'It works (as it should)'
end
- 断开与该数据库池的所有连接:
DB.disconnect
- 再次使用断开连接的 DB 对象进行查询(无需再次显式连接):
DB['SELECT * FROM my-db'].each do |row|
puts 'It STILL works (I did not expect it)'
end
正如我在我的连接检查器中观察到的那样,即使在断开连接后,重新使用对象最终会打开一个新的连接到同一个对象最初配置为连接的数据库,并且一切正常。
我最终在类中的 initialize
时间配置了一个简单的连接,但在每次迭代查询循环后关闭它,令我惊讶的是它运行良好,没有任何抱怨。
我的问题是:这是应该的行为方式吗?这是记录在案的行为还是只是未定义的行为,由于 Sequel 方面的良好设计模式(我猜?),最终以一致的行为结束?到目前为止,我在 Sequel's documentation 和 SO 中都找不到任何东西。
我想继续使用这种格式(因为在我的特定情况下它可以节省相当多的代码行),但前提是它是可靠的。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)