always-open / laravel-migration-snapshot
输出和加载由单个迁移产生的模式快照。
v4.4.0
2023-06-08 02:14 UTC
Requires
- php: ~7.3|~8.0.0|~8.1.0|~8.2.0
- laravel/framework: ^8.0|^9.0|^10.0
Requires (Dev)
- mockery/mockery: ~1.0
- orchestra/testbench: ^7.0
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-09-15 17:15:26 UTC
README
使用扁平化的数据库模式和迁移的输出,简化并加速同时应用多个迁移,这与Rails的schema.rb
类似。
支持mysql
、pgsql
和sqlite
数据库驱动。
Laravel 8+提供了schema:dump
命令,具有类似功能。如果希望在每次migrate
调用后自动输出,保留旧迁移或同时输出数据,则可能仍然需要此包。
安装
您可以通过composer安装此包。
composer require --dev always-open/laravel-migration-snapshot
数据库命令行工具(如mysqldump
和mysql
)必须在Artisan运行的路径中。
配置
将migration-snapshot.php
放入config
目录。
php artisan vendor:publish --provider="\AlwaysOpen\MigrationSnapshot\ServiceProvider"
使用方法
隐式迁移,从早期扁平副本加载
php artisan migrate
(当migrations
表为空且正在迁移配置的环境时;默认为'development'、'local'和'testing'。)
迁移而不从扁平副本加载,或输出到扁平副本
MIGRATION_SNAPSHOT=0 php artisan migrate
更新扁平的SQL文件
php artisan migrate:dump
从扁平的SQL文件加载,删除任何现有表和视图
php artisan migrate:load
测试
composer test
贡献
有关详细信息,请参阅CONTRIBUTING。
鸣谢
- Paul R. Rogers
- ORIS Intelligence
- PriceSpider (NeuIntel)
- 所有贡献者
许可协议
MIT许可协议(MIT)。有关更多信息,请参阅许可文件。