centos7中怎么用shell脚本执行laravel的路由?
在执行php artisan migrate生成数据表之后,要生成一些初始数据,
所以写了个InitControler,里面就是一些方法,用于生成一些初始数据。
写完后我要通过访问路由来访问这个控制器的方法,路由如下:
Route::get('init-users', 'InitController@initUsers');
Route::get('init-roles', 'InitController@initRoles');
//...
//...
//...
问题:
我想写成一个shell脚本来访问这些路由,而不是手动把路由输入到浏览器回车,应该怎么写这个shell脚本,请大神帮写一下。
黄舟2017-05-16 16:49:35
当然通过自定义命令
php artisan make:console FooCommand
把代码逻辑写在FooCommand.php,然后通过php artisan
执行,写在shell脚本内
淡淡烟草味2017-05-16 16:49:35
可以利用shell模拟本地浏览的方式
curl http://localhost/XX/init-users
curl http://localhost/XX/init-roles
#....
#....
不过这个要求网站能够被本地访问
我想大声告诉你2017-05-16 16:49:35
我换个思路怎么样
就是不把初始化数据写到C里,而是写到migration文件里。
通常情况下,每个数据表会对应一个migration文件,可以把对于该表的初始化数据写到一个private方法了,在migration本身的up方法后,用$this->xxx(),调用一下即可。
这样有几个好处:初始化数据会随着migrate同时初始化,还有就是初始化数据整齐的划分的对应的migration表中。
P.S. 因为每个migration还会对应Model
,你还可以用model初始化数据。不是一般的爽。