serkansyalcin / database-backup-manager
A Laravel package for managing database backups.
Requires
- php: >=7.4
- illuminate/support: ^7.0|^8.0|^9.0|^10.0|^11.0
README
A Laravel package for managing database backups. This package provides command-line tools to create and manage database backups in various formats including SQL, CSV, and JSON.
Installation
To install the package in your Laravel project, run the following command:
composer require serkansyalcin/database-backup-manager
Configuration
This package does not require any additional configuration beyond what is needed to connect to your database. Ensure that your .env file has the correct database connection settings.
Usage
You can use the following artisan command to back up your database:
php artisan backup:database --format=sql
Replace sql with csv or json to get the backup in different formats.
Command Options
--format: Specifies the format of the backup. Supported formats are sql, csv, and json.
Examples
SQL Backup To create a SQL backup of your database, run:
php artisan backup:database --format=sql
The resulting SQL backup file will be stored in the storage/app/backups directory with a filename like database-2024-08-23-08-27-40.sql.
CSV Backup To create a CSV backup of your database, run:
php artisan backup:database --format=csv
The CSV backup will be stored in the storage/app/backups directory. Each table will be backed up with headers and data in CSV format.
JSON Backup To create a JSON backup of your database, run:
php artisan backup:database --format=json
The JSON backup will be stored in the storage/app/backups directory. The backup will contain a JSON object with tables as keys and rows as values.
Common Issues
'mysqldump' is not recognized as an internal or external command: Ensure that mysqldump is installed and available in your system's PATH. If you’re on Windows, you might need to add MySQL's bin directory to your PATH.
Directory not found: The package will automatically create the storage/app/backups directory if it does not exist.