Download the PHP package kashifleo/multi-db-bridge without Composer
On this page you can find all versions of the php package kashifleo/multi-db-bridge. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download kashifleo/multi-db-bridge
More information about kashifleo/multi-db-bridge
Files in kashifleo/multi-db-bridge
Package multi-db-bridge
Short Description A Laravel package for managing central and tenant databases simultaneously using explicit, secure tenant connections.
License MIT
Informations about the package multi-db-bridge
Multi DB Manager for Laravel
DbBridge is a Laravel package for managing central and tenant databases simultaneously using explicit, secure tenant connections.
Features
- Central-Managed Tenancy: Single central database storing tenant credentials.
- Explicit Connection: No auto-magic middleware. You control when to connect.
- Simultaneous Access: Query
User::on('central')andOrder::on('tenant')at the same time. - Secure: Credentials stored in DB, not separate
.envfiles. - Job Support: Full support for queues and jobs with automatic tenant context preservation.
Installation
Configuration
Publish the configuration file:
This will create config/dbbridge.php:
Usage
Tenant Model
Your App's Tenant model must implement Kashifleo\MultiDBBridge\Contracts\DbBridgeConnectionContract:
Database Management
You can programmatically manage tenant databases using the DbBridge facade. This is useful for onboarding flows.
Connecting to a Tenant
Simultaneous Database Usage
Tenant Database Migrations
This package provides a robust way to manage tenant database migrations separate from your central migrations.
Configuration
Ensure your config/dbbridge.php has the migrations path configured:
Creating Tenant Migrations
Use the dbbridge:make-migration command to create a migration file specifically for tenant databases. These files will be placed in the configured tenant migrations path.
Running Tenant Migrations
Use the dbbridge:migrate command to run migrations on tenant databases.
Migrate a Single Tenant:
Migrate All Tenants:
The command dynamically connects to each tenant's database using the credentials stored in your central database and runs the migrations found in the tenant_migrations_path.
Middleware Usage
The EnsureDbBridgeConnected middleware acts as a Guard. It aborts the request with a 403 Unauthorized error if no tenant is connected. It does not automatically connect for you; it only ensures security.
Registering the Middleware
As this is a package, you must register the middleware in your application.
For Laravel 11+ (bootstrap/app.php):
Applying to Routes
Use it on routes that strictly require a tenant context (e.g., dashboard, orders).
Queue Support
To use tenant connections inside Queued Jobs, you should pass the Tenant model to the Job's constructor and explicitly connect within the handle method. This ensures clarity and control.
License
MIT
All versions of multi-db-bridge with dependencies
illuminate/support Version ^11.0 || ^12.0
illuminate/database Version ^11.0 || ^12.0