Skip to content

aghozlane/python-sqlite3-backup

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

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.

Build and installation

Now you can build or install sqlitebck using distutils:

$ python setup.py install

Tests

Nothing big, just test basic functionality:

$ 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)

About

Sqlite3 online API CPython implementation module: http://www.sqlite.org/c3ref/backup_finish.html

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C 74.3%
  • Python 25.7%