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]
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).
--with-rowid Transfer rowid columns.
-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 :)
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
File details
Details for the file sqlite3-to-mysql-1.3.5.tar.gz
.
File metadata
- Download URL: sqlite3-to-mysql-1.3.5.tar.gz
- Upload date:
- Size: 23.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | be14364fc4d4e3bab15104a16af6089f74432a7a5af5768418843b879044b1d9 |
|
MD5 | 31e5e6bb650921a1f851b1fae2a4e1ad |
|
BLAKE2b-256 | 5d9e493f6c6ec091ddd0a91e03ec69195e643cf0c61827315ec5084db266fc75 |
File details
Details for the file sqlite3_to_mysql-1.3.5-py2.py3-none-any.whl
.
File metadata
- Download URL: sqlite3_to_mysql-1.3.5-py2.py3-none-any.whl
- Upload date:
- Size: 13.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9de5868dcebd7f6259fce4211fa1004b1228b910c85c71042410c7279b3da8a7 |
|
MD5 | 4cf88f68826528af2c268a7d908ffaf5 |
|
BLAKE2b-256 | 06a2c128a7ac19e1c621449f5bc47157697f0fb304fbb16bcc4b0717fb006784 |