always-open/laravel-migration-snapshot

输出和加载由单个迁移产生的模式快照。

v4.4.0 2023-06-08 02:14 UTC

README

Latest Version on Packagist build Total Downloads

使用扁平化的数据库模式和迁移的输出,简化并加速同时应用多个迁移,这与Rails的schema.rb类似。

支持mysqlpgsqlsqlite数据库驱动。

Laravel 8+提供了schema:dump命令,具有类似功能。如果希望在每次migrate调用后自动输出,保留旧迁移或同时输出数据,则可能仍然需要此包。

安装

您可以通过composer安装此包。

composer require --dev always-open/laravel-migration-snapshot

数据库命令行工具(如mysqldumpmysql)必须在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

鸣谢

许可协议

MIT许可协议(MIT)。有关更多信息,请参阅许可文件