schickling / backup
Backup and restore database support for Laravel 4 applications
Installs: 112 487
Dependents: 1
Suggesters: 0
Security: 0
Stars: 351
Watchers: 15
Forks: 51
Open Issues: 21
Requires
- php: >=5.3.0
- aws/aws-sdk-php-laravel: 1.*
- symfony/finder: 2.*
Requires (Dev)
- laravel/framework: 4.1.*
- mockery/mockery: dev-master
- orchestra/testbench: 2.1.*
- satooshi/php-coveralls: 0.6.1
This package is not auto-updated.
Last update: 2024-11-04 15:02:27 UTC
README
Backup and restore database support for Laravel 4 applications
Installation
- Run the following command:
$ composer require schickling/backup
- Add
Schickling\Backup\BackupServiceProvider
to your config/app.php
Usage
Backup
Creates a dump file in app/storage/dumps
$ php artisan db:backup
Use specific database
$ php artisan db:backup --database=mysql
Upload to AWS S3
$ php artisan db:backup --upload-s3 your-bucket
You can use the --keep-only-s3
option if you don't want to keep a local copy of the SQL dump.
Uses the aws/aws-sdk-php-laravel package which needs to be configured.
Restore
Paths are relative to the app/storage/dumps folder.
Restore a dump
$ php artisan db:restore dump.sql
List dumps
$ php artisan db:restore
Configuration
Since version 0.5.0
this package follows the recommended standard for configuration. In order to configure this package please run the following command:
$ php artisan config:publish schickling/backup
All settings are optional and have reasonable default values.
return array( // add a backup folder in the app/database/ or your dump folder 'path' => app_path() . '/database/backup/', // add the path to the restore and backup command of mysql // this exemple is if your are using MAMP server on a mac // on windows: 'C:\\...\\mysql\\bin\\' // on linux: '/usr/bin/' // trailing slash is required 'mysql' => array( 'dump_command_path' => '/Applications/MAMP/Library/bin/', 'restore_command_path' => '/Applications/MAMP/Library/bin/', ), // s3 settings 's3' => array( 'path' => 'your/s3/dump/folder' ) // Use GZIP compression 'compress' => false, );
Dependencies
...for MySQL
You need to have mysqldump
installed. It's usually already installed with MySQL itself.
TODO - Upcoming Features
db:restore WRONGFILENAME
more detailed error messagedb:backup FILENAME
set title for dump- S3
- Upload as default
- default bucket
- More detailed folder checking (permission, existence, ...)
- Some more ideas? Tell me!