schickling / laravel-backup by schickling

Backup and restore database support for Laravel 4 applications
112,539
351
15
Package Data
Maintainer Username: schickling
Maintainer Contact: schickling.j@gmail.com (Johannes Schickling)
Package Create Date: 2013-06-30
Package Last Update: 2014-12-14
Language: PHP
License: Unknown
Last Refreshed: 2024-11-23 03:18:57
Package Statistics
Total Downloads: 112,539
Monthly Downloads: 81
Daily Downloads: 2
Total Stars: 351
Total Watchers: 15
Total Forks: 51
Total Open Issues: 21

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