orisintel / laravel-migration-snapshot
Dump and load snapshots of the schema produced by individual migrations.
Installs: 78 662
Dependents: 0
Suggesters: 0
Security: 0
Stars: 177
Watchers: 5
Forks: 11
Open Issues: 5
Requires
- php: ^7.3
- laravel/framework: ^8.0
Requires (Dev)
- mockery/mockery: ~1.0
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
README
Simplify and accelerate applying many migrations at once using a flattened dump
of the database schema and migrations, similar in spirit to Rails' schema.rb
.
Works with the mysql
, pgsql
, and sqlite
database drivers.
Installation
You can install the package via composer:
composer require --dev orisintel/laravel-migration-snapshot
Database command-line utilities (such as mysqldump
and mysql
) must be in the
path where Artisan will be run.
Configuration
Put migration-snapshot.php
into config
with:
php artisan vendor:publish --provider="\OrisIntel\MigrationSnapshot\ServiceProvider"
Usage
Implicitly migrate as load from an earlier, flattened copy:
php artisan migrate
(When migrations
table is empty and migrating a configured environment;
defaults to 'development', 'local', and 'testing'.)
Migrate without loading from, or dumping to, flattened copy:
MIGRATION_SNAPSHOT=0 php artisan migrate
Update the flattened SQL file:
php artisan migrate:dump
Load from the flattened SQL file, dropping any existing tables and views:
php artisan migrate:load
Testing
composer test
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email opensource@orisintel.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.