Skip to content

scitao/sqlite3-to-mysql

 
 

Repository files navigation

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 🐙.

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

About

Transfer data from SQLite to MySQL

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.4%
  • Shell 1.6%