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 Contributor Covenant 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, --prompt-mysql-password  Prompt for MySQL password
  --mysql-password TEXT        MySQL password
  -h, --mysql-host TEXT        MySQL host. Defaults to localhost.
  -P, --mysql-port INTEGER     MySQL port. Defaults to 3306.
  -S, --skip-ssl               Disable MySQL connection encryption.
  --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.

GUI wrapper

Aref Alikhani has developed a GUI wrapper called Berudele for this tool in case you're not comfortable with the CLI interface.

Project details


Download files

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

Source Distribution

sqlite3-to-mysql-1.4.0.tar.gz (29.3 kB view details)

Uploaded Source

Built Distribution

sqlite3_to_mysql-1.4.0-py2.py3-none-any.whl (15.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file sqlite3-to-mysql-1.4.0.tar.gz.

File metadata

  • Download URL: sqlite3-to-mysql-1.4.0.tar.gz
  • Upload date:
  • Size: 29.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for sqlite3-to-mysql-1.4.0.tar.gz
Algorithm Hash digest
SHA256 8798934f467566a0fa2fdf9dfec2dbbf406391209bedbf4ab2c03940ea299128
MD5 2bae143276b821a8c05f8c47bac52d7b
BLAKE2b-256 6a07640ac9e7f14a001e90612aa177ca3f58ef14e00e9b19cca320638d8649d7

See more details on using hashes here.

File details

Details for the file sqlite3_to_mysql-1.4.0-py2.py3-none-any.whl.

File metadata

  • Download URL: sqlite3_to_mysql-1.4.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 15.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for sqlite3_to_mysql-1.4.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 0fd3b41addf3aafcea961e04d49fff711bd0a8c14e905b6ab27a8ba21a5eeb75
MD5 54401198aeefb50856aa1489a7b5d3b2
BLAKE2b-256 bc33700274b94351d50aeb8747b75f2f284be803db059168f6dcd8a6b6aae0c1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page