Skip to content

Package for Laravel 4, supporting using namespaces in migration classes

License

Notifications You must be signed in to change notification settings

ed-fruty/laravel4-namespace-migrator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

laravel4-namespace-migrator

Laravel 4 is not support namespaces in migration classes, but it is not a problem ;)

#Installation

  1. Use Composer to install package into your project:
composer require "ed-fruty/laravel4-namespace-migrator": "1.0.0"
  1. Add the service provider in app/config/app.php:
'Fruty\LaravelNamespaceMigrator\LaravelNamespaceMigratorServiceProvider',
  1. Publish package configuration
php artisan config:publish ed-fruty/laravel4-namespace-migrator

#Usage

Default migration namespaces searching

When you call migrations like ```bash php artisan migrate --path=app/Modules/Blog/Migrations ``` Migrator automatically searches classes with namespace `App\Modules\Blog\Migrations` in `app/Modules/Blog/Migrations` To change default values, edit configuration file `app/config/packages/ed-fruty/laravel4-namespace-migrator/main.php` block `default`

Reserving namespaces for migration paths

For reserving namespace for some path, edit configuration file `app/config/packages/ed-fruty/laravel4-namespace-migrator/main.php`. Example:
'reserved' => [
      base_path('app/modules/Blog/migrations') => 'Blog\\Migrations\\',
  ]

It means, when you call migrations like:

php artisan migrate --path=app/modules/Blog/migrations

Migrator automatically searches classes with namespace Blog\Migrations in that directory.

Workbenches

For workbench packages Migrator automatically searches migrations by `vendor/package` name. When you call migrations like:
php artisan migrate --bench=foo/bar

Migrator searches classes with namespace Foo\Bar\Migrations in workbench/foo/bar/src/migrations So if workbench namespace does not equal to vendor/package name you must register it in 'reserved' block like:

base_path('workbench/foo/bar/src/migrations') => 'VendorNamespace\\PackageNamespace\\'

Without namespaces

Migrator always searches classes with namespace firstly and if class not found with namespace it trying to search class without namespace. For example basic usage:
php artisan migrate

By default configs, Migrator firstly searches migration classes with namespace App\database\migrations in app/database/migrations and if it does not exists, Migrator tries to load class without namespace from that catalog.

About

Package for Laravel 4, supporting using namespaces in migration classes

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages