theseanstewart / Update-Scripts by seanstewart

Allows you to run scripts to update your application, just like migrations
1,306
4
2
Package Data
Maintainer Username: seanstewart
Maintainer Contact: sean@ekoim.com (Sean Stewart)
Package Create Date: 2016-05-15
Package Last Update: 2017-03-19
Language: PHP
License: MIT
Last Refreshed: 2024-11-19 03:22:18
Package Statistics
Total Downloads: 1,306
Monthly Downloads: 1
Daily Downloads: 0
Total Stars: 4
Total Watchers: 2
Total Forks: 0
Total Open Issues: 0

Build Status

Laravel Update Scripts

This Laravel 5 package makes it easy to run scripts that modify data in your database or perform other tasks and behaves just like migrations.

How to install

Pull the package in through Composer.

"require": {
    "seanstewart/update-scripts": "dev-master"
}

Include the service provider within app/config/app.php.

'providers' => [
    Seanstewart\UpdateScripts\UpdateScriptsServiceProvider::class
];

Then you will need to run the following command to publish the migration responsilbe for setting up the "updates" table in your database.

php artisan vendor:publish

After that, you'll need to migrate your database

php artisan migrate

How to Use

Let's say you need to run some scripts that modify content in your database. Doing this through migrations isn't a great idea as those should strictly handle changes to the database structure. Run the following command to generate a new update script:

php artisan update:make some_description_for_your_update

A file will be generated in your laravel base directory called "updates" that looks like 2016_05_15_145375_some_description_for_your_update.php (again, it works just like migrations).

When you're ready to run the update script, you'd call the command....

php artisan update:run

That's it! Updates are tracked in your database just like migrations so they don't run more than once.

Why I created this

Previously we were running updates to our database data in migrations. It just felt dirty, so we decided to build something that handles updates but works just like migrations. We're using it in production for our election building service (Election Runner) and it has made the development/updating process much easier. Hopefully others will find this as useful as we do!