Download the PHP package marshmallow/laravel-database-sync without Composer
On this page you can find all versions of the php package marshmallow/laravel-database-sync. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download marshmallow/laravel-database-sync
More information about marshmallow/laravel-database-sync
Files in marshmallow/laravel-database-sync
Package laravel-database-sync
Short Description Sync your production database in to your local database to start developing with production data
License MIT
Homepage https://github.com/marshmallow-packages/laravel-database-sync
Informations about the package laravel-database-sync
Laravel Database Sync
A powerful Laravel package that enables seamless synchronization of data from a remote database to your local development environment.
Table of Contents
- Requirements
- Installation
- Configuration
- Environment Variables
- Usage
- Basic Synchronization
- Advanced Options
- Table Configuration
- Synchronization Suites
- Multi-Tenant Support
- Testing
- Test Structure
- Writing Tests
- Security
- Support
- License
Requirements
- PHP ^8.2
- Laravel ^10.0|^11.0|^12.0
Installation
You can install the package via composer:
Configuration
Publish the configuration file:
Environment Variables
Add these variables to your .env
file:
Important: When connecting to a Forge-provisioned database server, you must use the main database user that was created during the initial server provisioning. Other database users created afterward may not have the necessary privileges to execute the required database commands for synchronization.
Usage
Basic Synchronization
To sync your remote database to local:
`
Advanced Options
The sync command supports several options:
Available options:
--date
: Sync records from a specific date--suite
: Use a predefined suite of tables--table
: Sync a specific table--tenant
: Specify tenant for multi-tenant applications--skip-landlord
: Skip landlord database in multi-tenant setup--full-sync
: Sync the full table without a date constraint
Table Configuration
You can exclude specific tables from synchronization in the config/database-sync.php
file:
Synchronization Suites
Define custom synchronization suites in the configuration file to group tables for specific sync tasks:
Then use the suite option:
Multi-Tenant Support
The package supports multi-tenant architectures. Enable it in the configuration:
Configure tenant-specific settings in your configuration file and use the --tenant
option to sync specific tenant databases:
Testing
This package uses Pest PHP for testing. To run the tests:
To run tests with coverage report:
Test Structure
The test suite includes:
-
Unit Tests: Testing individual components
Config
class testsDatabaseSync
class tests- Other utility classes
- Feature Tests: Testing the package functionality
- Command execution tests
- Multi-tenant functionality
- Suite configurations
- Table filtering
Writing Tests
To add new tests, create a new test file in either the tests/Unit
or tests/Feature
directory. The package uses Pest's expressive syntax:
Security
- Never commit sensitive database credentials to version control
- Always use environment variables for sensitive information
- Ensure proper access controls on both remote and local databases
Support
For support, please email [email protected]
License
The MIT License (MIT). Please see License File for more information.