DEV Community

Cover image for Introducing Py-Auto-Migrate: Database Migration Made Simple
Kasra Khaksar
Kasra Khaksar

Posted on

Introducing Py-Auto-Migrate: Database Migration Made Simple

Honestly, sometimes migrating between databases during a project is difficult.

For example, transferring tables between relational databases or transferring data between a relational database and a NoSQL database.

That's why I built Py-Auto-Migrate.

What is Py-Auto-Migrate?

Py-Auto-Migrate is an open source tool that automatically transfers data between different database systems.

Simply provide a source and target database, and the tool will:

  • Detect schemas automatically
  • Map data types between databases
  • Create missing tables and databases
  • Migrate data with minimal configuration

Installation

pip install py-auto-migrate
Enter fullscreen mode Exit fullscreen mode

Example:

py-auto-migrate migrate \
  --source "mongodb://user:pass@localhost:27017/source_db" \
  --target "mysql://user:pass@localhost:3306/target_db"
Enter fullscreen mode Exit fullscreen mode

Features

  • Supports SQL and NoSQL databases
  • Automatic schema detection and creation
  • Migrate a single table or an entire database
  • AI-powered filtering and querying using natural language (only relational databases)
  • Web dashboard

Supported Databases

  • MySQL
  • PostgreSQL
  • Oracle
  • SQL Server
  • MariaDB
  • SQLite
  • MongoDB
  • Redis
  • DynamoDB
  • Elasticsearch
  • ClickHouse

Web Dashboard

For users who prefer a GUI, Py-Auto-Migrate includes a dashboard:

py-auto-migrate dashboard
Enter fullscreen mode Exit fullscreen mode

⚠️ Py-Auto-Migrate is still in its early stages and should not be considered a fully stable release yet.

Project links :

GitHub: https://github.com/kasrakhaksar/py-auto-migrate

PyPI: https://pypi.org/project/py-auto-migrate/

Top comments (0)