mk-devs / multi-tenant
Create, migrate and seed different databases dynamiclly without having to change your app connection.
Installs: 8
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
pkg:composer/mk-devs/multi-tenant
This package is auto-updated.
Last update: 2025-12-29 03:26:26 UTC
README
Multi-Tenant is a Laravel package that can be used to create, migrate and seed different databases dynamiclly without having to change your app connection.
This is useful for web applications that stores data of each tenant in different database.
Installing
You can install the package via composer:
composer require mk-devs/multi-tenant
The package will register itself automatically.
Usage
Installing the packege on your Laravel project will add MultiTenant class as well as helpful artisan commands.
Artisan Commands
php artisan tenant:create database connectionphp artisan tenant:migrate database connection --pathphp artisan tenant:refresh database connectionphp artisan tenant:rollback database connectionphp artisan tenant:seed database connection --class
Available Methods
createCreate a new databaseparams: [database, connection]migrateRun migrate for specific databaseparams: [database, connection, path]refreshReset and re-run all migrationsparams: [database, connection]rollbackRollback the last database migrationparams: [database, connection]seedRun seed for specific databaseparams: [database, connection, class]setChange app database connection in run timeparams: [database, connection]
Params
| Param | Required | Default |
|---|---|---|
| database | true | null |
| connection | false | Current connection |
| class | false | null |
| path | false | null |
Use Cases
// Simple examples MultiTenant::migrate('database_name'); MultiTenant::create('database_name')->migrate(); MultiTenant::seed([ 'database' => 'database_name', 'connection' => 'mysql', 'class' => 'CustomersTableSeed' ]); MultiTenant::set([ 'database' => 'database_name', 'connection' => 'mysql', ]); // Advanced example MultiTenant::migrate([ 'database' => 'database_name', 'connection' => 'mysql', 'path' => '/database/migrations/tenant' ])->seed(['class' => 'CustomersTableSeed'])->set();
License
Multi-Tenant is open-sourced software licensed under the MIT