This repository was archived by the owner on May 21, 2020. It is now read-only.
forked from husio/python-sqlite3-backup
-
Notifications
You must be signed in to change notification settings - Fork 0
Sqlite3 online API CPython implementation module: http://www.sqlite.org/c3ref/backup_finish.html
nephics/python-sqlite3-backup
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
================================================================
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.
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)
.. _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 backup: http://apidoc.apsw.googlecode.com/hg/backup.html
About
Sqlite3 online API CPython implementation module: http://www.sqlite.org/c3ref/backup_finish.html
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- C 71.7%
- Python 28.3%