Package Data | |
---|---|
Maintainer Username: | racklin |
Maintainer Contact: | racklin@gmail.com (Rack Lin) |
Package Create Date: | 2017-04-13 |
Package Last Update: | 2023-07-03 |
Home Page: | |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-12-19 03:16:57 |
Package Statistics | |
---|---|
Total Downloads: | 5,856 |
Monthly Downloads: | 5 |
Daily Downloads: | 0 |
Total Stars: | 20 |
Total Watchers: | 3 |
Total Forks: | 12 |
Total Open Issues: | 3 |
This is very useful when you are working with multi-tenants applications with PostgreSQL Schemas.
With facade helper functions, you can create/drop/switch schemas easily. This package also provide artisan commands for migrations and seeds supports for each schemas.
PGSchema will check and only affects when specific connection driver is pgsql
.
So you can using PGSchema to your projects safely with any database connection drivers without error occurred.
composer require racklin/pgschema:dev-master
config/app.php
Racklin\PGSchema\PGSchemaServiceProvider::class,
config/app.php
'PGSchema' => Racklin\PGSchema\Facades\PGSchema::class,
pgschema:migrate
add extra schema
option to Laravel migrate
command, you can specific the database schema for migrations.
And it will auto install migrations
repository table for the schema.
Usage:
pgschema:migrate [options]
Options:
--database[=DATABASE] The database connection to use.
--schema[=SCHEMA] The database schema to use.
--force Force the operation to run when in production.
--path[=PATH] The path of migrations files to be executed.
--pretend Dump the SQL queries that would be run.
--seed Indicates if the seed task should be re-run.
--step Force the migrations to be run so they can be rolled back individually.
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
--env[=ENV] The environment the command should run under
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Help:
Run the database migrations
pgschema:rollback
add extra schema
option to Laravel migrate:rollback
command.
Usage:
pgschema:rollback [options]
Options:
--database[=DATABASE] The database connection to use.
--force Force the operation to run when in production.
--path[=PATH] The path of migrations files to be executed.
--pretend Dump the SQL queries that would be run.
--step[=STEP] The number of migrations to be reverted.
--schema[=SCHEMA] The database schema to use
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
--env[=ENV] The environment the command should run under
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Help:
Rollback the last database migration
pgschema:reset
add extra schema
option to Laravel migrate:reset
command.
Usage:
pgschema:reset [options]
Options:
--database[=DATABASE] The database connection to use.
--force Force the operation to run when in production.
--path[=PATH] The path of migrations files to be executed.
--pretend Dump the SQL queries that would be run.
--schema[=SCHEMA] The database schema to use
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
--env[=ENV] The environment the command should run under
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Help:
Rollback all database migrations
pgschema:refresh
add extra schema
option to Laravel migrate:refresh
command.
Usage:
pgschema:refresh [options]
Options:
--database[=DATABASE] The database connection to use.
--force Force the operation to run when in production.
--path[=PATH] The path of migrations files to be executed.
--seed Indicates if the seed task should be re-run.
--seeder[=SEEDER] The class name of the root seeder.
--step[=STEP] The number of migrations to be reverted & re-run.
--schema[=SCHEMA] The database schema to use
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
--env[=ENV] The environment the command should run under
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Help:
Reset and re-run all migrations
pgschema:seed
add extra schema
option to Laravel db:seed
command.
Usage:
pgschema:seed [options]
Options:
--class[=CLASS] The class name of the root seeder [default: "DatabaseSeeder"]
--database[=DATABASE] The database connection to seed
--schema[=SCHEMA] The database schema to seed
--force Force the operation to run when in production.
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
--env[=ENV] The environment the command should run under
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Help:
Seed the database with records
PGSchema::create($schemaName, $databaseName)
if create is call without $databaseName argument, it using the default connection.
PGSchema::drop($schemaName, $databaseName)
if drop is call without $databaseName argument, it using the default connection.
PGSchema::schema($schemaName, $databaseName)
if schema is call without $schemaName argument, it switches to the public schema (default) if schema is call without $databaseName argument, it using the default connection.
PGSchema::each(Closure $callback, $databaseName)
if each is call without $databaseName argument, it using the default connection.
Current package version works for Laravel 5+.
MIT: https://racklin.mit-license.org/