sqlalchemy и общий кэш SQLite

SQLite поддерживает «общий кэш» для :memory: баз данных, когда они открываются специальным URI (согласно sqlite.org ):

[T] его же база данных в памяти может быть открыта двумя или несколькими подключениями к базе данных следующим образом:

rc = sqlite3_open("file::memory:?cache=shared",&db);

Я могу воспользоваться этим в Python 3.4, используя параметр URI для sqlite3.connect() :

 sqlite3.connect('file::memory:?cache=shared', uri=True) 

Тем не менее, я, похоже, не могу получить то же самое, что работает для SQLAlchemy:

 engine = sqlalchemy.create_engine('sqlite:///:memory:?cache=shared') engine.connect() ... TypeError: 'cache' is an invalid keyword argument for this function 

Есть ли способ заставить SQLAlchemy использовать общий кэш?

Изменить :
На Python 3.4 я могу использовать аргумент creator для create_engine для решения проблемы, но проблема остается в других версиях Python:

 creator = lambda: sqlite3.connect('file::memory:?cache=shared', uri=True) engine = sqlalchemy.create_engine('sqlite://', creator=creator) engine.connect() 

One Solution collect form web for “sqlalchemy и общий кэш SQLite”

Вам следует избегать передачи uri=True в старых версиях Python, и проблема будет исправлена:

 import sqlite3 import sys import sqlalchemy DB_URI = 'file::memory:?cache=shared' PY2 = sys.version_info.major == 2 if PY2: params = {} else: params = {'uri': True} creator = lambda: sqlite3.connect(DB_URI, **params) engine = sqlalchemy.create_engine('sqlite:///:memory:', creator=creator) engine.connect() 
  • Сохранение кортежей как типов данных blob в Sqlite3 в Python
  • Хранение длинной строки HTML в базе данных SQLite вызывает неизвестную ошибку
  • Создание таблицы в базе данных Sqlite с помощью Genie?
  • У кого-нибудь есть пример кода для конвейера sqlite в Scrapy?
  • Вопросы о создании таблицы и транзакции в sqlite3 python
  • Python + kivy + SQLite: как использовать их вместе
  • Sqlite. Как получить значение Auto Increment Primary Key после Insert, кроме last_insert_rowid ()?
  • SQLite3 и многопроцессорность
  • Как я могу регистрировать запросы в Sqlite3 с помощью Python?
  • Передача значения из выпадающего меню в шаблон фляги
  • SQLite, python, unicode и не-utf
  •  
    Interesting Posts for Van-Lav

    Использование модуля Twain в Python

    Eclipse и Python 3: почему printf () из ctypes отображается на консольном выходе после последующих операторов print ()

    Могут ли шаблоны Mustache делать расширение шаблона?

    Как назначить значение словаря переменной в Python?

    Создайте новый столбец в кадре данных Panda, добавив значения из других столбцов

    Python – отправлять электронную почту, когда исключается исключение?

    Django TemplateSyntaxError

    SWIG-интерфейс библиотеки C на Python (создание «итерабельного» типа данных Python из структуры последовательности C)

    Невозможно импортировать из шести библиотек Python

    получение границы элемента из другого списка

    Ошибка Sublime Text2: нет модуля с именем Gnuplot

    Автоматизация процесса проверки pydrive

    Пример простого сельдерея и Django

    Как отсортировать похожие значения в отсортированном списке (на основе второго значения) кортежей на основе другого значения (третьего значения) в кортеже в порядке убывания

    Как проверить на Python, из которого производятся методы класса?

    Python - лучший язык программирования в мире.