Используйте API резервного копирования SQLite из Python/SQLAlchemy.

StackOverflow https://stackoverflow.com/questions/1072444

  •  21-08-2019
  •  | 
  •  

Вопрос

Я использую базу данных SQLite из Python (с SQLАлхимия).Из соображений производительности я хотел бы заполнить базу данных в памяти приложения, а затем создать резервную копию этой базы данных на диске.

SQLite имеет API резервного копирования, который, кажется, сделает это прозрачно.

А АПСВ в документации сказано, что это оборачивает API резервного копирования, но я бы хотел получить доступ к этой функции из стандартного модуля Python sqlite3 или, в лучшем случае, из SQLAlchemy.Это возможно?

Это было полезно?

Решение

А python-sqlite3-резервное копирование Модуль утверждает, что решает эту проблему.

Другие советы

Диалект APSW также можно довольно легко добавить в SQLAlchemy.Этого было бы очень легко добиться в версии 0.6, которая позволяет нескольким типам адаптеров DBAPI использовать общий диалект для используемой базы данных.

Если pysqlite и apsw связаны с одной и той же библиотекой sqlite, тогда pysqlite может принимать соединения apsw.Видеть:

http://docs.pysqlite.googlecode.com/hg/sqlite3.html#combining-apsw-and-pysqlite

Я постараюсь поработать над этим (и другими) подходами к работе apsw с SQLAlchemy, поскольку они представляют собой очень полезную комбинацию.

Когда я делаю следующее

import sqlite3
dir(sqlite3)

Я не вижу ничего из API резервного копирования методы.

Поэтому ответ — нет;вы не можете получить доступ к API из модуля sqlite3.Похоже, никто это не реализовал.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top