ldavidsp / laravel-sync
Synchronize your local or stage database with the production one.
v2.0.1
2023-11-22 22:44 UTC
Requires
- php: >=7.2.5
- laravel/framework: >=6.0
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
This package contains some useful Artisan commands to work the synchronization of the local database with the production one.
Requirements
This package requires Laravel 6 or newer.
Installation
You can install the package via Composer:
composer require ldavidsp/laravel-sync
Publish the config file with:
php artisan vendor:publish --tag=sync-config
Add tables to synchronize in config/sync.php:
/* |-------------------------------------------------------------------------- | Sync tables |-------------------------------------------------------------------------- */ 'sync_tables' => [ 'table_name_1', ],
Add the configuration for the production database to config/database.php:
'live-db' => [ 'driver' => env('DB_LIVE_CONNECTION', 'mysql'), 'host' => env('DB_LIVE_HOST', 'your live server database host here'), 'port' => env('DB_LIVE_PORT', '3306'), 'database' => env('DB_LIVE_DATABASE', 'forge'), 'username' => env('DB_LIVE_USERNAME', 'forge'), 'password' => env('DB_LIVE_PASSWORD', ''), ],
Add the configuration in .env:
DB_LIVE_CONNECTION=mysql DB_LIVE_HOST= DB_LIVE_PORT=3306 DB_LIVE_DATABASE= DB_LIVE_USERNAME= DB_LIVE_PASSWORD=
Usage
Synchronize database:
php artisan sync:prod
or
Add the configuration in app/Console/Kernel.php:
/** * Sync local database with production. */ if (App::environment('local')) { $schedule->command('sync:prod')->everyTenMinutes(); }
License
The MIT License (MIT). Please see License File for more information.