Skip to content

Latest commit

 

History

History
60 lines (37 loc) · 1.65 KB

README.md

File metadata and controls

60 lines (37 loc) · 1.65 KB

sqlite-dump

PyPI Changelog License

An improved version of .iterdump() for Python's sqlite3

Background

Python's sqlite3 standard library module provides a method for dumping the contents of a database out as lines of SQL that can be used to recreate the database:

import sqlite3

conn = sqlite3.connect("mydb.db")
for line in conn.iterdump():
    print(line)

This mechanism is convenient but unfortunately does not support every SQLite feature. In particular it doesn't correctly dump databases that use SQLite's full-text search functionality from the FTS module. This library offers an improved alternative to the .iterdump() method.

Installation

Install this plugin using pip:

$ pip install sqlite-dump

Usage

To loop through lines of SQL that can recreate a SQLite database file:

import sqlite3
from sqlite_dump import iterdump

conn = sqlite3.connect(db_path)
for line in iterdump(conn):
    print(line)

Development

To contribute to this library, first checkout the code. Then create a new virtual environment:

cd sqlite-dump
python -mvenv venv
source venv/bin/activate

Or if you are using pipenv:

pipenv shell

Now install the dependencies and tests:

pip install -e '.[test]'

To run the tests:

pytest