Skip to main content

Sqlite3 online backup API implementation.

Project description

Sqlite3 backup function implementation for Python sqlite3 module
================================================================

Single function that allows to save any sqlite3 database one to another. You
can use this for example for loading and dumping memory database (`:memory:`)
into file (alternative to `iter dump`_ functionality).

See the `Sqlite3 C API docs`_ for more info.

The same functionality is being provided by the `apsw backup`_ API, which
provides even more information about the copy process.

.. _iter dump: http://docs.python.org/release/2.6/library/sqlite3.html#sqlite3.Connection.iterdump
.. _Sqlite3 C API docs: http://www.sqlite.org/c3ref/backup_finish.html
.. _apsw buckup: http://apidoc.apsw.googlecode.com/hg/backup.html


Build and installation
----------------------

Now you can build or install `sqlitebck` using distutils::


$ python setup.py build
$ python setup.py install


You can also intsall it, using the `pip` command::


$ pip install sqlitebck




Tests
-----

Nothing big, just test basic functionality (make sure you have build the
`sqlitebck` module)::

$ python tests.py


Usage example
-------------

Basic usage example - memory database saved into file::


>>> import sqlite3
>>> conn = sqlite3.connect(':memory:')
>>> curr = conn.cursor()


Create table and put there some data::


>>> curr.execute('CREATE TABLE foo (bar INTEGER)')
<sqlite3.Cursor object at 0xb73b2800>
>>> curr.execute('INSERT INTO foo VALUES (123)')
<sqlite3.Cursor object at 0xb73b2800>
>>> curr.close()
>>> conn.commit()
>>> import sqlitebck


Save in memory database (conn) into file::


>>> conn2 = sqlite3.connect('/tmp/in_memory_sqlite_db_save.db')
>>> sqlitebck.copy(conn, conn2)
>>> conn.close()
>>> curr2 = conn2.cursor()


Check if data is in file database::


>>> curr2.execute('SELECT * FROM foo');
<sqlite3.Cursor object at 0xb73b2860>
>>> curr2.fetchall()
[(123,)]


If you want to load file database into memory, just call::


>>> sqlitebck.copy(conn2, conn)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sqlitebck-1.2.tar.gz (4.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page