henryavila/laravel-multi-database-commands

This package provides an abstraction to efficiently manage multiple database application commands, like: migrate

Downloads

16

Stars

3

Version

v2.1.0

This package provides an abstraction to efficiently run migrate command on multiple database app

Version 2.0 Upgrade

This package has been migrated from apps-inteligentes/laravel-multi-database-commands to henryavila/laravel-multi-database-commands The namespace has been moved from AppsInteligentes\LaravelMultiDatabaseCommands to HenryAvila\LaravelMultiDatabaseCommands

To update this package, update your composer.json file to

{
    "require": {
        "henryavila/laravel-multi-database-commands": "^2.0.0"
    }
}

If you overwrite some contente of this pacakge, make sure to run a global search a replace on your code looking for AppsInteligentes\LaravelMultiDatabaseCommands and replacing with HenryAvila\LaravelMultiDatabaseCommands

Installation

You can install the package via composer:

composer require henryavila/laravel-multi-database-commands

You can publish the config file with:

php artisan vendor:publish --provider="HenryAvila\LaravelMultiDatabaseCommands\LaravelMultiDatabaseCommandsServiceProvider" --tag="laravel_multi_database_commands-config"

This is the contents of the published config file:

return [

    /*
     * Add here the list of all database connection.
     * You can find the connection names in config file: database.connections
     */
    'databases' => [

    ]
];

Usage

All new migration, created by this package will be organized this way: each database present in multi_database_commands.databases will have their own migration folder.

Ex: All migrations for DB tenant will be stored in database/migration/tenant. All migrate command executed by this package will isolate all DB.

Create Migration Files

To create the migration add_active_column_on_users_table on tenant db connection, run the command:

php artisan multi-db:make-migration add_active_column_on_users_table tenant

Just like php artisan make:migration command, you can use the options --create theTableToBeCreated and --table theTableToBeMigrated

Running Migrations

To execute a migrate command in all DB. The list of all databases, must be defined in config file multi_database_commands

# Run migration in all dbs defined in multi_database_commands config file 
php artisan multi-db:migrate

# Run migration:status in all dbs defined in multi_database_commands config file 
php artisan multi-db:migrate -C status


# Run migration:rollback in teannt db  
php artisan multi-db:migrate tenant -C rollback


Just like php artisan migrate command, you can use all laravel variations fresh, install, refresh, reset, rollback and status`

To execute the command in on DB, just inform the db connection name

#Execute the migrate:status just on log db
php artisan multi-db:migrate log -C status

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.

henryavila

Author

henryavila