Download the PHP package wishborn/upgrades without Composer
On this page you can find all versions of the php package wishborn/upgrades. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download wishborn/upgrades
More information about wishborn/upgrades
Files in wishborn/upgrades
Package upgrades
Short Description A system to manage data/code upgrades during deployments, similar to database migrations
License MIT
Informations about the package upgrades
Laravel Upgrade System
A system to manage data/code upgrades during deployments, similar to database migrations.
Installation
You can install the package via composer:
The package will automatically register its service provider.
After installation, you should run the migrations to create the required database table:
If the migration doesn't run automatically, you can force publish and run it:
Usage
Creating an Upgrade
This will create a new upgrade file in the upgrades
directory with a timestamp prefix.
Running Upgrades
To run all pending upgrades:
To skip confirmations:
Checking Status
To see the status of all upgrades:
Writing Upgrades
Upgrades are similar to Laravel migrations but for any type of data or code changes. All upgrades are automatically wrapped in a database transaction - if any part of the upgrade fails, all changes will be rolled back.
Here's an example:
Available Methods
Output Methods:
$this->info('Message')
- Green text$this->error('Message')
- Red text$this->warn('Message')
- Yellow text$this->comment('Message')
- Yellow text$this->line('Message')
- Plain text$this->newLine(1)
- Add blank lines
Confirmations (skipped with -y flag):
Best Practices
- Make upgrades atomic and idempotent
- Transactions are handled automatically - all changes in an upgrade will be rolled back if any part fails
- Add descriptive comments and logging
- Handle errors gracefully
- Use chunking for large data operations
- Add confirmations for destructive operations
License
The MIT License (MIT). Please see License File for more information.
Testing
Package Development Testing
You can run tests using either PHPUnit or Pest:
Testing in Your Project
When using this package in your project, you can test your upgrades using either PHPUnit or Pest:
Using PHPUnit
Using Pest
To run your tests:
All versions of upgrades with dependencies
laravel/framework Version ^9.0|^10.0
illuminate/console Version ^9.0|^10.0
illuminate/support Version ^9.0|^10.0
illuminate/database Version ^9.0|^10.0