Skip to main content

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

Project description

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

SQLite3 to MySQL

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

I originally wrote this simple program as a standalone script and published it as a gist as an answer to this Stack Overflow question. Since then quite some people have taken interest in it since it's so simple and effective. Therefore I finally moved my lazy bones and made a GitHub repository :octopus:.

How to run

pip install sqlite3-to-mysql
sqlite3mysql --help

Usage

Usage: sqlite3mysql [OPTIONS]

  Transfer SQLite to MySQL using the provided CLI options.

Options:
  -f, --sqlite-file PATH      SQLite3 database file  [required]
  -t, --sqlite-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.
  -d, --mysql-database TEXT   MySQL database name  [required]
  -u, --mysql-user TEXT       MySQL user  [required]
  -p, --mysql-password TEXT   MySQL password
  -h, --mysql-host TEXT       MySQL host. Defaults to localhost.
  -P, --mysql-port INTEGER    MySQL port. Defaults to 3306.
  --mysql-integer-type TEXT   MySQL default integer field type. Defaults to
                              INT(11).

  --mysql-string-type TEXT    MySQL default string field type. Defaults to
                              VARCHAR(255).

  -T, --use-fulltext          Use FULLTEXT indexes on TEXT columns. Will throw
                              an error if your MySQL version does not support
                              InnoDB FULLTEXT indexes!

  --with-rowid                Transfer rowid columns.
  -c, --chunk INTEGER         Chunk reading/writing SQL records
  -l, --log-file PATH         Log file
  -q, --quiet                 Quiet. Display only errors.
  --version                   Show the version and exit.
  --help                      Show this message and exit.

Note

After a LONG time I finally found the time to write the complimentary script to transfer MySQL to SQLite3. Check it out :)

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 sqlite3-to-mysql, version 1.3.11
Filename, size File type Python version Upload date Hashes
Filename, size sqlite3_to_mysql-1.3.11-py2.py3-none-any.whl (14.4 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size sqlite3-to-mysql-1.3.11.tar.gz (27.6 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