PHPackages                             mhnassar/multi-tenant - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. mhnassar/multi-tenant

ActiveLibrary[Database &amp; ORM](/categories/database)

mhnassar/multi-tenant
=====================

MultiTenant package / one application with multi databases schema

11215PHP

Since Nov 19Pushed 8y ago2 watchersCompare

[ Source](https://github.com/MHNassar/multiTenant)[ Packagist](https://packagist.org/packages/mhnassar/multi-tenant)[ RSS](/packages/mhnassar-multi-tenant/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

multiTenant
===========

[](#multitenant)

Laravel package to handel multi databases in one sorce code , depend on sub domain . Suitable for marketing companies that like to re-use functionality for different clients or start-ups building the next software as a service.

Advantages
==========

[](#advantages)

- Very simple
- Seperated Database Schema

Installation
============

[](#installation)

- Add in composer.json

```
"mhnassar/multi-tenant": "dev-master"
```

- Run

```
composer update
```

- Add in config/app.php

```
'providers' => [
       ...
       MHNassar\MultiTenant\MultiTenantServiceProvider::class,
       ],
```

- let’s add middleware to the array of middleware in file Http/Kernel.php:

```
protected $middleware = [
    ......
    MHNassar\MultiTenant\Middleware\MultiTenant::class,
   ];
```

After going through all the previous steps, your package should be installed successfully.

Configuration Tenant Driver for Multiple Database
=================================================

[](#configuration-tenant-driver-for-multiple-database)

- Create a new subdomain for your domain in your hosting server (e.g.: tenant1.example.com)
- Create a new database with the same name of your subdomain (e.g. tenant1)-
- Create a new database connection with the same name of your subdomain in the file config/database.php:

```
'tenant1' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', 'localhost'),
            'port' => env('DB_PORT', '3306'),
            'database' => 'tenant1', //name of database
            'username' => 'root',
            'password' => 'root',
            'charset' => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],
```

- change "APP\_ENV" in .env file to "local"
- To run migration and seeds run the "Multi:migrate" command with the name of your subdomain from the main folder:

```
php artisan Multi:migrate tenant1
```

Now you are finished ... Enjoy!

ToDo List
=========

[](#todo-list)

- wizard intallation
- Dashboard to mange Tenates

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/99fbf7a24d8f1a8908a684935fb94d8e1f9ce813345de7f363d2487f61694d45?d=identicon)[MHNassar](/maintainers/MHNassar)

---

Top Contributors

[![MHNassar](https://avatars.githubusercontent.com/u/20682215?v=4)](https://github.com/MHNassar "MHNassar (5 commits)")

### Embed Badge

![Health badge](/badges/mhnassar-multi-tenant/health.svg)

```
[![Health](https://phpackages.com/badges/mhnassar-multi-tenant/health.svg)](https://phpackages.com/packages/mhnassar-multi-tenant)
```

###  Alternatives

[doctrine/orm

Object-Relational-Mapper for PHP

10.2k285.3M6.2k](/packages/doctrine-orm)[jdorn/sql-formatter

a PHP SQL highlighting library

3.9k115.1M102](/packages/jdorn-sql-formatter)[illuminate/database

The Illuminate Database package.

2.8k52.4M9.3k](/packages/illuminate-database)[mongodb/mongodb

MongoDB driver library

1.6k64.0M543](/packages/mongodb-mongodb)[ramsey/uuid-doctrine

Use ramsey/uuid as a Doctrine field type.

90340.3M209](/packages/ramsey-uuid-doctrine)[reliese/laravel

Reliese Components for Laravel Framework code generation.

1.7k3.4M16](/packages/reliese-laravel)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
