Magento Database Dump & Table Analyzer Tool
Project description
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/*
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.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file magento_dump-1.0.22.tar.gz.
File metadata
- Download URL: magento_dump-1.0.22.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2719971a6fbd6feeb9fe042f84537ccff0de5133c7f7ecd69aa07b933709695
|
|
| MD5 |
84e7190d52447361a219ed44f1231986
|
|
| BLAKE2b-256 |
4aa184b5dad2c9997475b17bc6c5f0c19b0f232a441cccbb8b434f54ff096c45
|
File details
Details for the file magento_dump-1.0.22-py3-none-any.whl.
File metadata
- Download URL: magento_dump-1.0.22-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
197b5f96f9002697b932035e3a01d8cbbcd0cef87a3995676c780cb98c471f3a
|
|
| MD5 |
4fe33801fc7c894a50146c8259b5a8f1
|
|
| BLAKE2b-256 |
b28e8e00943d8753211e06793fbc26d24630cd85751b7a9853be1abcecd92a03
|