Skip to main content

A CLI tool to convert PostgreSQL/MySQL databases to SQLite

Project description

DbConvert

Python SQLAlchemy Typer License: MIT

Convert your PostgreSQL or MySQL database to an SQLite file with ease.

Features

  • Convert PostgreSQL databases to SQLite
  • Convert MySQL databases to SQLite
  • Command-line interface for easy usage
  • Preserves table structures and data
  • Supports all common data types
  • Rich progress display and error reporting

Installation

You can install DbConvert using pip:

pip install dbconvert

Requirements

  • Python 3.8 or higher
  • PostgreSQL or MySQL database to convert from

Usage

Command Line Options

dbconvert [COMMAND] [OPTIONS]

Commands:
  convert              Convert a database to SQLite
  supported-databases  Show supported database types

Options for convert:
  --source TEXT    Source database type (postgres, mysql)  [required]
  --conn TEXT      Source database connection string         [required]
  --sqlite TEXT    Target SQLite database file path         [required]
  --help          Show this help message and exit

Connection String Format

PostgreSQL

postgresql://[user[:password]@][host][:port][/dbname]

MySQL

mysql://[user[:password]@][host][:port][/dbname]

Examples

  1. Convert a PostgreSQL database:
dbconvert convert --source postgres --conn "postgresql://user:password@dbhost:5432/mydb" --sqlite mydb.sqlite
  1. Convert a MySQL database:
dbconvert convert --source mysql --conn "mysql://user:password@dbhost:3306/production" --sqlite prod_backup.sqlite
  1. List supported database types:
dbconvert supported-databases

Development

Setup Development Environment

  1. Clone the repository:
git clone https://github.com/ysskrishna/dbconvert.git
cd dbconvert
  1. Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install development dependencies:
pip install -e .

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Support

If you encounter any issues or have questions, please open an issue on GitHub.

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

dbconvert-1.1.1.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dbconvert-1.1.1-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file dbconvert-1.1.1.tar.gz.

File metadata

  • Download URL: dbconvert-1.1.1.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.5

File hashes

Hashes for dbconvert-1.1.1.tar.gz
Algorithm Hash digest
SHA256 a71d8769ebc272cbdf1330e0b0a8914300f1cab26a0ba623ab3f19890f5c3eed
MD5 bde561ded6d7dfd4ae2cd727bcd9ca5e
BLAKE2b-256 72d9e8f6cb554a307648aa0938e48f11812ab6b337126f978920df32e699182d

See more details on using hashes here.

File details

Details for the file dbconvert-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: dbconvert-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 9.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.5

File hashes

Hashes for dbconvert-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c6f72eed07d05f10b226b056af3e89209511d2e6bc0cc52ff84f5521c772be4e
MD5 188ee4f2287f8a632bea63db515d032d
BLAKE2b-256 ded71d768fe2efe819fb3bf76a0345b704d35d978826d76a70a28cfdcfdc5baf

See more details on using hashes here.

Supported by

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