julianpitt / dbmanager
A highly configurable database backup and restore solution for laravel projects
Requires
- php: >=5.3.0
- illuminate/support: ~5.0
Requires (Dev)
- phpunit/phpunit: 4.*
- scrutinizer/ocular: ~1.1
This package is not auto-updated.
Last update: 2024-12-21 20:14:03 UTC
README
A highly configurable database backup and restore solution for laravel 5 projects
Install
Via Composer
$ composer require julianpitt/dbmanager
Add the service provider to your config/app.php file's provider array
... 'JulianPitt\DBManager\DBManagerServiceProvider', ...
Then publish the config after you update composer
$ php artisan vendor:publish --provider="JulianPitt\DBManager\DBManagerServiceProvider" --tag="public"
Usage
###Console
For backups
php artisan dbman:backup
For restores ( currently in development )
php artisan dbman:restore
###File
DBManager::hasPermission( {filesystem name} ); DBManager::backup(); DBManager::backup( {options array} );
##Config
Backup
Defaults
prefix => 'datetime'
suffix => ''
filename => '-db-manager'
compress => true
keeplastonly => false
filesystem => "local"
location => "/backups/"
useExtendedInsert => true
timeoutInSeconds => 60
tables => ""
backupType => "dataandstructure"
'individualFiles' => env('DBMAN_OUTPUT_INDIVIDUAL', false),
'checkPermissions' => env('DBMAN_CHECK_PERMISSIONS', true),
'failsafeEnabled' => env('DBMAN_OUTPUT_FAILSAFE', true),
'failsafe' => [
'location' => '/dbmanager/',
'filesystem' => 'local'
]
Options
-p --prefix=PREFIX The name of the file will get prefixed with this string. -s --suffix=SUFFIX The name of the file will get suffixed with this string. -f --filename=FILENAME The name of the file to output. -t --type=TYPE The type of dump to perform on the database ("datanadstructure/dataonly/structureonly) -k --keeplastonly=KEEPLASTONLY Keep the last backup or delete all previous backups (true/false) -c --compress=COMPRESS Compress the output file to .zip (true/false) -d --checkPermissions=CHECKPERMISSIONS Enable an initial check to see if the backup will run correctly [default: true] -b --failsafeEnabled=FAILSAFEENABLED Save a full backup in the failsafe location when performing a backup on some tables only [default: true] -i --individual=INDIVIDUAL Save each table to an individual file [default: false]
.env
The following values can be changed inside your .env file
DBMAN_OUTPUT_COMPRESS - compress (boolean)[true|false] DBMAN_OUTPUT_KEEPLASTONLY - keeplastonly (boolean)[true|false] DBMAN_OUTPUT_FILESYSTEM - filesystem (string or array) e.g ['local','aws'] or 'local' DBMAN_OUTPUT_LOCATION - location (string) e.g '/backups/' DBMAN_OUTPUT_TABLES - tables (string) e.g 'laravel' or '' for the whole database DBMAN_OUTPUT_BACKUPTYPE - backupType (string) [dataonly|structureonly|dataandstructure] DBMAN_CHECK_PERMISSIONS - checkPermissions (boolean)[true|false] DBMAN_OUTPUT_FAILSAFE - failsafeEnabled (boolean)[true|false] DBMAN_OUTPUT_INDIVIDUAL - individualFiles (boolean)[true|false]
Change log
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING and CONDUCT for details.
Security
If you discover any security related issues, please email julian.pittas@gmail.com instead of using the issue tracker.
Credits
- Julian Pittas
License
The MIT License (MIT). Please see License File for more information