Magento Database Management Tool
A powerful Python script to list Magento database tables and perform MySQL dumps with filtering and compression.
Features
✅ Show Table Sizes: Lists only tables larger than 1MB, sorted by size.
✅ Dump Full Database: Dumps all tables, ignoring predefined ones.
✅ Interactive CLI: Select options using an interactive menu.
✅ Progress Tracking: Shows real-time progress during MySQL dump.
✅ Config Auto-Detection: Reads Magento env.php for database settings.
✅ Compression: Dumps are gzip compressed for storage efficiency.
Installation
- Clone the Repository
git clone https://github.com/yourusername/magento-db-tool.git
cd magento-db-tool
- Install Dependencies
pip install tqdm simple-term-menu
🔹 Run Interactive CLI
python3 magento_db_tool.py
🔹 Show Tables Bigger Than 1MB
python3 magento_db_tool.py show-tables
🔹 Dump Entire Magento Database
python3 magento_db_tool.py db-dump
📝 Commands Overview Command Description
- show-tables List tables larger than 1MB with row count & size
- db-dump Dumps all tables with gzip compression
- exit Close the tool 📦 Example Output Listing Tables
🔍 Fetching table details (only tables > 1MB)...
Table Name Rows Size (MB)
=================================================================
sales_order 50000 15.6
catalog_product_entity 120000 12.3
customer_entity 30000 8.4
✅ Showing 3 tables larger than 1MB. Dumping Database
🚀 Starting database dump...
📂 Dumping table: sales_order ...
📂 Dumping table: catalog_product_entity ...
📂 Dumping table: customer_entity ...
✅ Database dump successful: magento_luma_dump_20240219.sql.gz
🔧 Configuration This tool automatically extracts your Magento database settings from app/etc/env.php. No manual setup required!
Change ignored tables in ignore_tables inside the script. ⏱ Automate with CRON To schedule daily database backups at midnight, add this to crontab -e:
0 0 * * * /usr/bin/python3 /path/to/magento_db_tool.py db-dump
Deploy to PyPI, follow these steps:
1️. Install Twine (if not installed)
pip install twine
2️. Build the Package Inside your project root (magento-dump/):
pip install --upgrade setuptools
python setup.py sdist bdist_wheel
3️. Upload to PyPI
twine upload dist/*
or
rm -rf dist/ && python setup.py sdist bdist_wheel && twine upload dist/*
or new wey:
pip install build
rm -rf dist/*
python -m build
pip install twine
twine upload dist/*
This will ask for your PyPI credentials. Once uploaded, you can install your package with:
pip install magento-dump
📜 License MIT License. Free to use and modify.
Metadata
Release files for magento-dump 1.0.33
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| magento_dump-1.0.33.tar.gz | 7.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| magento_dump-1.0.33-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.0 kB
Release files / magento_dump-1.0.33.tar.gz
| Download URL | magento_dump-1.0.33.tar.gz |
|---|---|
| Size | 7.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ffde5edc6c4abbca16ab022dd2c535c431e895ee12a1625e8f4c9d54e253c180
|
|
BLAKE2b-256 checksum How to use checksums |
eb4fe21fff07b9c19605cde3d3638447137514ad4994566f77b372eb1d17ddf3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.3
|
Release files / magento_dump-1.0.33-py3-none-any.whl
| Download URL | magento_dump-1.0.33-py3-none-any.whl |
|---|---|
| Size | 7.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
72a8abf4f280cfd95905e7bc6df39e95e6b77b535d252398e1ece338c3c74a0c
|
|
BLAKE2b-256 checksum How to use checksums |
31aa5bc398650542450bfabea97e357fe3b44834233c12bf8882e241218e958a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.3
|