6

Est-il possible d'utiliser le "cache partagé" de sqlite3 via activerecord?) (http://www.sqlite.org/inmemorydb.html)activerecord cache partagé en mémoire

J'utilise activerecord standalone (sans rails) dans une application JRuby Swing, avec des threads de travail impliqués. Problème: SEULEMENT le thread principal peut accéder aux données, puisque chaque thread reconstruit un nouveau DB en mémoire. Donc, je viens d'obtenir

[SQLITE_ERROR] Erreur SQL ou base de données manquantes (pas de table: insert_model_name)

de partout, sauf le thread principal. Y at-il une solution de contournement ou ai-je raté quelque chose? (j'utilise les dernières versions de jruby, java, et les gemmes)

Merci d'avance!

Database Config jusqu'à présent: https://gist.github.com/4482423

MISE À JOUR: scénario minimal pour illustrer le problème. Il fonctionne bien sous Linux, mais pas dans Windows 7: https://gist.github.com/4483617

+0

Pouvez-vous envoyer votre fichier database.yml? – moritz

+0

mis à jour ma question :) – Hisako

Répondre

3

Le jeton suivant fonctionne bien:
"file::memory:?cache=shared"
Aussi, vérifiez votre version de SQLite, il devrait être au moins 3.7.13 pour supporter cette fonctionnalité.

+0

Référence: https://www.sqlite.org/sharedcache.html – Kelvin