jamesfreeman / laravel-data-migrations
An extension to allow you to separate data migrations from structure migrations
Requires
- php: ^8.1
- illuminate/database: ^8.0|^9.0|^10.0
- illuminate/support: ^8.0|^9.0|^10.0
README
This extension allows you to separate data migrations from structure migrations.
Installation
The preferred way to install this extension is through composer.
With Composer installed, you can then install the extension using the following commands:
composer require jamesfreeman/laravel-data-migrations
or add
... "require": { "jamesfreeman/laravel-data-migrations": "^2.0" }
to the require
section of your composer.json
file.
Configuration
- Register the ServiceProvider in your config/app.php service provider list. This step can be skipped in Laravel 5.5+
config/app.php
return [ //other stuff 'providers' => [ \JamesFreeman\DataMigrations\DataMigrationsServiceProvider::class, ]; ];
- Publish the new assets.
php artisan vendor:publish --tag=data-migrations
This will create the default migrations directory and the config/data-migrations.php file.
Usage
By default, the table used to store the data migrations is "migrations_data" table. You can change the table on the config/data-migrations.php file.
The data migrations will be stored in the migrations_data folder of the database path if no path is specified in the command execution.
The available commands of the package are:
Create migration command
php artisan make:data-migration [name] [--path=]
The first time you use it the data migrations table will be created.
Run migration command
php artisan migrate-data [--path=]
Rollback migration command
php artisan migrate-data:rollback [--path=]
The behavior of the migrations is the same as the regular migrations.
License
Copyright © 2021 José Lorente Martín jose.lorente.martin@gmail.com, Eran Machiels dev@eranmachiels.nl.
Licensed under the MIT license. See LICENSE.txt for details.