PHP 5.3+
No commit activity in last 2 years
No release in over 2 years
There's a lot of open issues
Backup and restore database support for Laravel 4 applications
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

satooshi/php-coveralls
0.6.1
mockery/mockery
dev-master

Runtime

symfony/finder
2.*
 Project Readme

laravel-backup Build Status Coverage Status Total Downloads

Backup and restore database support for Laravel 4 applications

Installation

  1. Run the following command:
$ composer require schickling/backup
  1. 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 message
  • db:backup FILENAME set title for dump
  • S3
  • Upload as default
  • default bucket
  • More detailed folder checking (permission, existence, ...)
  • Some more ideas? Tell me!

Bitdeli Badge