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 TUPLE 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.
-W, --ignore-duplicate-keys Ignore duplicate keys. The default behavior
is to create new ones with a numerical
suffix, e.g. 'exising_key' ->
'existing_key_1'
-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.
-i, --mysql-insert-method [UPDATE|IGNORE|DEFAULT]
MySQL insert method. DEFAULT will throw
errors when encountering duplicate records;
UPDATE will update existing rows; IGNORE
will ignore insert errors. Defaults to
IGNORE.
--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).
--mysql-text-type [MEDIUMTEXT|TINYTEXT|TEXT|LONGTEXT]
MySQL default text field type. Defaults to
TEXT.
--mysql-charset TEXT MySQL database and table character set
[default: utf8mb4]
--mysql-collation TEXT MySQL database and table collation
-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.
--debug Debug mode. Will throw exceptions.
--version Show the version and exit.
--help Show this message and exit.
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
sqlite3-to-mysql-1.4.13.tar.gz
(32.7 kB
view details)
Built Distribution
File details
Details for the file sqlite3-to-mysql-1.4.13.tar.gz
.
File metadata
- Download URL: sqlite3-to-mysql-1.4.13.tar.gz
- Upload date:
- Size: 32.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | de76bceaa74c7cceb7b046f89ec3b95ead98363b21fa002e9dc645cdf2ec36fd |
|
MD5 | 957641273db53a9dbe6a4a35281f7a28 |
|
BLAKE2b-256 | b0b76c1544b29e7da98512c03db8c00b74d922cd4e0cd97ae72619be5126c130 |
File details
Details for the file sqlite3_to_mysql-1.4.13-py2.py3-none-any.whl
.
File metadata
- Download URL: sqlite3_to_mysql-1.4.13-py2.py3-none-any.whl
- Upload date:
- Size: 18.4 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48fffffc8fe175fd1c22e83568bc6e752453996008c6be5077d7ad1e41b84ea6 |
|
MD5 | 447f4f8aeec5b535e2b88269a0eb862f |
|
BLAKE2b-256 | 754f46a4e399bee7914b53cf4b9fbea0b2f1d7553a335ad67eff671b569de02e |