[LOOKING FOR MAINTAINER], (*1)
Please contact me if you are interested in maintaining this library. I no longer work with Laravel so I'm not able to keep up with the updates., (*2)
Laravel PGSchema
With this package you can create, switch and drop postgresql schemas
easily. This is very useful when you are working with multi-tenants
applications., (*3)
Installation
-
Use composer to add the package into your project
using
composer require pacuna/schemas:dev-master, (*4)
-
Add 'Pacuna\Schemas\SchemasServiceProvider' to your app.php file in the
services providers section., (*5)
- Add 'PGSchema' => 'Pacuna\Schemas\Facades\PGSchema' into the aliases
section
Usage
Assuming that you have your db configuration ready, meaning that
your default connection is 'pgsql' and your pgsql credentials
are setted in the usual way, you can use the next functions:, (*6)
Create new Schema
PGSchema::create($schemaName), (*7)
Switch to Schema
PGSchema::switchTo($schemaName), (*8)
if switchTo is call without arguments, it switches to the public
schema (default), (*9)
Drop Schema
PGSchema::drop($schemaName), (*10)
Migrate Schema
PGSchema::migrate($schemaName, args[]), (*11)
For example create a migrations in a custom path:
php artisan migrate:make create_dogs_table --create=dogs --path=app/database/migrations/foo, (*12)
Then you can migrate some schema using this path
PGSchema::migrate($schemaName, ['--path' => 'app/database/migrations/foo']), (*13)
Multi-tenancy Example (SaaS)
Checkout this repo https://github.com/pacuna/laravel-multitenancy-schemas
In the handlers folder you can find the code that contains calls to
the package., (*14)
Laravel version
Current package version works for Laravel 5. If you need Laravel 4 support checkout for the laravel4 branch., (*15)