/ / Use la API de copia de seguridad de SQLite de Python / SQLAlchemy - python, sqlite, sqlalchemy

Utilice la API de copia de seguridad de SQLite desde Python / SQLAlchemy - python, sqlite, sqlalchemy

Estoy usando una base de datos SQLite de Python (con SQLAlchemy). Por razones de rendimiento, me gustaría rellenar una base de datos en memoria en la aplicación y luego hacer una copia de seguridad de esa base de datos en el disco.

SQLite tiene un API de copia de seguridad, lo que parece que haría esto de forma transparente.

los APSW la documentación dice que envuelve la API de copia de seguridad, pero me gustaría acceder a esta funcionalidad desde el módulo sqlite3 estándar de Python, o en el mejor de los casos desde SQLAlchemy. es posible?

Respuestas

1 para la respuesta № 1

los python-sqlite3-backup El módulo pretende resolver este problema.


3 para la respuesta № 2

El dialecto APSW se puede agregar a SQLAlchemybastante fácil también. Sería muy fácil de lograr en 0.6, lo que permite que múltiples tipos de adaptadores DBAPI utilicen un dialecto común para la base de datos en uso.


3 para la respuesta № 3

Si pysqlite y apsw están vinculados a la misma biblioteca de sqlite, pysqlite puede aceptar conexiones apsw. Ver:

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

Trataré de trabajar en este (y otros) enfoques para lograr que un trabajo funcione con SQLAlchemy, ya que son una combinación muy útil.


1 para la respuesta № 4

Cuando hago lo siguiente

import sqlite3
dir(sqlite3)

No veo ninguno de los API de copia de seguridad métodos.

Por lo tanto, la respuesta es no; no puede acceder a la API desde el módulo sqlite3. Parece que nadie lo implementó.