背景
Laravel有数据库迁移、有填充、有工厂模式,确实很不错,但是有时候在开发换成后生成了上百条的初始化数据,这些数据如果用填充还需要做ETL,比较麻烦,显然不太合理,就考虑到了直接导出数据库为 .sql
文件,然后执行导入就行了。
主要代码
DB::unprepared(file_get_contents('path/data.sql'));
通过Artisan命令行执行
执行 php artisan make:command Install
来创建一个命令,会在 app/Console/Commands/
目录中生成 Install.php
。
编辑 Install.php
的 $signature
为自己想要的命令格式,比如我 app:install
,接着在 handle()
方法中定义执行的逻辑代码,我们把上面的数据库导入代码写在这里。
在命令行中执行 php artisan app:install
即可导入 .sql
。