【问题标题】:activerecord in-memory shared cacheactiverecord 内存共享缓存
【发布时间】:2013-01-07 23:31:45
【问题描述】:

可以通过activerecord使用sqlite3的“共享缓存”吗? (见:http://www.sqlite.org/inmemorydb.html

我在 JRuby Swing 应用程序中使用独立的 activerecord(没有 rails),其中涉及一些工作线程。问题:只有主线程可以访问数据,因为每个线程都会重建一个新的内存数据库。所以我得到了

[SQLITE_ERROR] SQL 错误或缺少数据库(没有这样的表:insert_model_name)

来自任何地方,除了主线程。有解决方法还是我错过了什么? (我使用最新版本的 jruby、java 和 gems)

提前致谢!

到目前为止的数据库配置:https://gist.github.com/4482423

更新:说明问题的最小脚本。它在 Linux 下运行良好,但在 WINdows 7 下运行良好:https://gist.github.com/4483617

【问题讨论】:

  • 你能发布你的 database.yml 文件吗?

标签: ruby-on-rails sqlite jruby rails-activerecord in-memory-database


【解决方案1】:

以下令牌效果很好:
"file::memory:?cache=shared"
另外,请检查您的 SQLite 版本,它应该至少是 3.7.13 才能支持此功能。

【讨论】:

  • 这停止工作,它现在创建一个具有该名称的文件:(
  • @grosser 你搞定了吗?
  • 不,没弄明白
猜你喜欢
  • 1970-01-01
  • 2011-07-27
  • 2011-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-01
  • 2020-06-29
相关资源
最近更新 更多