A simple Python tool to transfer data from SQLite 3 to MySQL
Project description
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]
Options:
-f, --sqlite-file PATH SQLite3 db file [required]
-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).
-c, --chunk INTEGER Chunk reading/writing SQL records
-l, --log-file PATH Log file
--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/sqlite3-to-mysql
cd sqlite3-to-mysql
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/sqlite3-to-mysql
cd sqlite3-to-mysql
python3 -m venv env
source env/bin/activate
pip install -e .
pip install -r requirements_dev.txt
tox
Note
After a LONG time I finally found the time to write the complimentary script to transfer MySQL to SQLite3. Check it out :)
Additional note
Python 3.8 is currently not supported because at the moment of writing the most recent version of MySQL Connector/Python v8.0.17 still contains a reference to a feature deprecated in Python 3.5 and removed in Python 3.8:
mysql/connector/connection.py:126: DeprecationWarning: dist() and linux_distribution() functions are deprecated in Python 3.5
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for sqlite3_to_mysql-1.2.14-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f4366e57f3c27b7c8fffb081cd9cd76263e9b0972b3e4a45d8966d147d6abf8 |
|
MD5 | 126463e5701a3e1223d4bfe1bbf296cf |
|
BLAKE2b-256 | 9b8870bdb232dffb53844e94e88baedc33c8dd0d9b9f063e19d202a3df1c5166 |