Where to put migration within a Laravel 5.1 package?

laravel migration
enum in laravel migration
laravel migration change column type
laravel packages
create laravel package
laravel 5.8 package development
migrations
php artisan package:discover

Well, I do have a package take I only use alongside with my system. I do have migrations for that package (it was build on Laravel 4.2, and I'm upgrading it).

That being said: On my package (former workbench) on Laravel 5.1, where do I put and how do I run my migrations?

Does any of you guys know how to deal with this?

UPDATE:

This is not the case of a simple migration. Back on laravel 4.*, we were able to maintain migrations for each package (if it was so desirable), and I do have some migrations been held by my own package, in it's own database, with it's own table. So... I need it to be a PACKAGE's migrations and not a ROOT INSTALATION's migration.

Where to put migration within a Laravel 5.1 package?, The new migration will be placed in your database/migrations directory. The up method is used to add new tables, columns, or indexes to your database, while  A migration class contains two methods: up and down. The up method is used to add new tables, columns, or indexes to your database, while the down method should reverse the operations performed by the up method. Within both of these methods you may use the Laravel schema builder to expressively create and modify tables.

Updated Answer for Laravel 5.6+

https://laravel.com/docs/5.6/packages#migrations says:

If your package contains database migrations, you may use the loadMigrationsFrom method to inform Laravel how to load them. The loadMigrationsFrom method accepts the path to your package's migrations as its only argument:

/**
 * Perform post-registration booting of services.
 *
 * @return void
 */
public function boot()
{
    $this->loadMigrationsFrom(__DIR__.'/path/to/migrations');
}

Once your package's migrations have been registered, they will automatically be run when the php artisan migrate command is executed. You do not need to export them to the application's main database/migrations directory.

The forward-slash is important. In my case, I used: $this->loadMigrationsFrom(__DIR__ . "/migrations");.

Migrations & Seeding - Laravel, Master, 7.x, 6.x · 5.8 · 5.7 · 5.6 · 5.5 · 5.4 · 5.3 · 5.2 · 5.1 · 5.0 · 4.2 Configuration; Migrations; Factories; Routes; Translations; Views; View Any of these packages may be used with Laravel by requesting them in your Instead of requiring users to manually add your service provider to the list, you may define the provider in  Laravel Migrations change/update How do I properly change / update my migration, I am using Laravel 5.1. But where do I have to put it in the migration and

To create a migration:

  1. Go to command prompt locate your project root folder and run this command: php artisan make:migration yourMigrationFileName --create=tableName
  2. You can found your migration file in yourProjectFolder\database\migrations\timestamp_yourMigrationFileName.php
  3. Create your table.

To run the migration:

  1. Go to command prompt locate your project root folder and run this command: php artisan migrate

And don't forget to declare your table name in your Model. You can do it by writing protected $table = 'tableName' in your model.

Upgrade Guide - Laravel, I have migration files with PHP namespaces. When i run "php artisan vendor:​publish" in terminal, it copies migration from package to Project/database/​migrations. Laravel Migrations Organiser. The number of migrations in any sized project can quickly become huge, and although they are ordered, having one big list can sometimes be inconvenient and slow to navigate.

Database: Migrations - Laravel, This Package Supports Laravel starting on 5.2 up to the latest stable version. Installing. In order to install Migrator, run the following command into your Laravel 5.2  artesaos/migrator. This package is a customized version of Laravel's default database migrator, it was designed to register migrations on services providers and support namespacing as well.

Package Development - Laravel, Learn how to run only one specific migration in Laravel 5.1. By default, Laravel runs all of it Duration: 6:51 Posted: Sep 24, 2016 If you would like to be able to write your package tests as if they existed inside a typical Laravel application, you may use the Orchestral Testbench package. Package Discovery. In a Laravel application's config/app.php configuration file, the providers option defines a list of service providers that should be loaded by Laravel. When someone

Laravel 5.1 Package database migration issue, Every new install of Laravel has a create_users_table migration and a User model built If you bring in the laravel/ui package, Laravel offers an Artisan ui:​auth Differences in Auth Structure in Laravel Before 5.3 Note that in Laravel 5.1 and  Laravel now supports both Carbon 1 and Carbon 2; therefore, Composer will try to upgrade to Carbon 2.0 if no other compatibility issues with any other packages are detected. Please review the migration guide for Carbon 2.0. Likelihood Of Impact: Very Low. The add method has been moved from the Eloquent collection class to the base collection

Comments
  • Read this fully ?
  • I think I did! (I was sure I did till you pointed it out... now I'm scared to ensure!)
  • Do you want to create a migration or run the migration?
  • Both! But, I already have them. Just want to run, or further more, create.
  • and yes, vendor:publish just copy views to /views and migrations to /database/migrations - thus, after being published, we still need to run php artisan migrate. in the end, it just like put them in migrations folder. am i wrong?
  • I accidentally upvoted this answer even though it didn't work for me. This other one did: stackoverflow.com/a/50499101/470749
  • to be precise, it's not some date, it's timestamp.
  • @Tezla I am sorry for that, but this is not the issue. The timestamp will created by Laravel itself.
  • This is just a standart migration. Of that I read on the docs.