a2way-com / laravel-tenant-migrate by budhajeewa

A2Way Laravel Tenant Migrate
6,191
24
5
Package Data
Maintainer Username: budhajeewa
Maintainer Contact: budhajeewa@gmail.com (Supun Budhajeewa)
Package Create Date: 2014-11-08
Package Last Update: 2019-09-11
Home Page:
Language: PHP
License: ISC
Last Refreshed: 2024-11-19 03:10:18
Package Statistics
Total Downloads: 6,191
Monthly Downloads: 53
Daily Downloads: 1
Total Stars: 24
Total Watchers: 5
Total Forks: 10
Total Open Issues: 1

A2Way Laravel Tenant Migrate

A2Way Laravel Tenant Migrate is a Laravel package that can be used to migrate different databases without editing database configuration files.

This is specially useful for SaaS (Software as a Service) web applications that stores data of each tenant in different databases. Migrating databases like that can be very hard because you might have to change your database configuration for each tenant database. As you can imagine, this is not a very scalable solution.

A2Way Laravel Tenant Migrate can help you overcome this problem.

Commands Available

Installing A2Way Laravel Tenant Migrate on your Laravel project will add following commands to your artisan tool.

  • migrate:tenant (connection-name) (database-name)
  • migrate:tenant:all (connection-name) (database-prefix)
  • migrate:tenant:install (connection-name) (database-name)
  • migrate:tenant:refresh (connection-name) (database-name)
  • migrate:tenant:reset (connection-name) (database-name)
  • migrate:tenant:rollback (connection-name) (database-name)

Each of above commands (Except migrate:tenant:all.) will perform the task of their cousin commands that has the similar name but for “tenant”. For an example, migrate:tenant:refresh myConnection myDatabase will run migrate:refresh on myDatabase, accessing it through connection details given in myConnection.

migrate:tenant:all will help you to migrate multiple tenant databases at once by specifying their prefix. For an example, if you have tenant databases named tnt_a, tnt_b, and tnt_c, executing migrate:tenant:all myConnection tnt_ will migrate all three databases.

Installing

  1. Issue the following command:

    composer require a2way/laravel-tenant-migrate 1.*

  2. Then add the following line to your Laravel app’s “app/config/app.php” file’s “providers” sub-array.

    A2way\LaravelTenantMigrate\LaravelTenantMigrateServiceProvider

  3. Check the installation by issuing "php artisan command". If you are able to see the above commands in your list of commands, installation was successful.