Skip to main content

A simple Python tool to transfer data from MySQL to SQLite 3

Project description

PyPI Downloads PyPI - Python Version GitHub license Code style: black Codacy Badge Build Status codecov GitHub stars

MySQL to SQLite3

A simple Python tool to transfer data from MySQL to SQLite 3.

This is the long overdue complimentary tool to my SQLite3 to MySQL. It transfers all data from a MySQL database to a SQLite3 database.

How to run

pip install mysql-to-sqlite3
mysql2sqlite --help

Usage

Usage: mysql2sqlite [OPTIONS]

  Transfer MySQL to SQLite using the provided CLI options.

Options:
  -f, --sqlite-file PATH      SQLite3 database file  [required]
  -d, --mysql-database TEXT   MySQL database name  [required]
  -u, --mysql-user TEXT       MySQL user  [required]
  -p, --mysql-password TEXT   MySQL password
  -t, --mysql-tables TEXT     Transfer only these specific tables (space
                              separated table names). Implies --without-
                              foreign-keys which inhibits the transfer of
                              foreign keys.
  -X, --without-foreign-keys  Do not transfer foreign keys.
  -h, --mysql-host TEXT       MySQL host. Defaults to localhost.
  -P, --mysql-port INTEGER    MySQL port. Defaults to 3306.
  -c, --chunk INTEGER         Chunk reading/writing SQL records
  -l, --log-file PATH         Log file
  -V, --vacuum                Use the VACUUM command to rebuild the SQLite
                              database file, repacking it into a minimal
                              amount of disk space
  --use-buffered-cursors      Use MySQLCursorBuffered for reading the MySQL
                              database. This can be useful in situations where
                              multiple queries, with small result sets, need
                              to be combined or computed with each other.
  --help                      Show this message and exit.

Testing

In order to run the test suite run these commands using a Docker MySQL image.

Requires a running Docker instance!

  • using Python 2.7
git clone https://github.com/techouse/mysql-to-sqlite3
cd mysql-to-sqlite3
virtualenv -p $(which python2) env
source env/bin/activate
pip install -e .
pip install -r requirements_dev.txt
tox
  • using Python 3.5+
git clone https://github.com/techouse/mysql-to-sqlite3
cd mysql-to-sqlite3                   
python3 -m venv env
source env/bin/activate
pip install -e .
pip install -r requirements_dev.txt
tox

Project details


Download files

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

Files for mysql-to-sqlite3, version 1.3.0
Filename, size File type Python version Upload date Hashes
Filename, size mysql_to_sqlite3-1.3.0-py2.py3-none-any.whl (12.0 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size mysql-to-sqlite3-1.3.0.tar.gz (21.8 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page