【发布时间】:2020-07-05 10:58:41
【问题描述】:
使用 laravel 如何在正在运行的站点上迁移表(如果有更改)?
如果离线工作,我们使用 CMD。我的问题很简单,如果我的网站已经(在线)运行良好,那么如何迁移...我们不能在那里运行 CMD,对吗?
【问题讨论】:
使用 laravel 如何在正在运行的站点上迁移表(如果有更改)?
如果离线工作,我们使用 CMD。我的问题很简单,如果我的网站已经(在线)运行良好,那么如何迁移...我们不能在那里运行 CMD,对吗?
【问题讨论】:
在 web.php 中导入 Artisan
使用 Illuminate\Support\Facades\Artisan;
你可以这样写迁移路线
Route::get('migrate',function(){
Artisan::call('migrate');
});
你可以这样写 migrate:rollback route
Route::get('rollback',function(){
Artisan::call('migrate:rollback');
});
您可以像这样编写路线和查看清算路线
Route::get('vr-clear',function(){
Artisan::call('route:clear');
Artisan::call('view:clear');
});
基本上我会建议你在部署 Laravel 项目后使用这种重启路由来清除缓存和路由清除。 因为有时它可能会显示一些错误消息。
Route::get('reboot',function(){
Artisan::call('view:clear');
Artisan::call('route:clear');
Artisan::call('config:clear');
Artisan::call('cache:clear');
Artisan::call('key:generate');
});
【讨论】:
一种方法是在routes 中使用Artisan 命令,如下所示:
Route::get('/migrate', function(){
\Artisan::call('migrate');
dd('migrated!');
});
然后调用这条路线。
记住在 MIGRATING 后删除这条路线...!
【讨论】:
如果你的服务器是 linux,你可以使用 ssh 访问命令环境。
如果您的个人系统是 Windows,您可以安装 putty 来打开 ssh。
它的工作原理在这个链接中:
https://mediatemple.net/community/products/dv/204404604/using-ssh-in-putty-(windows)
如何在mac系统中访问ssh在这个链接中
https://www.servermania.com/kb/articles/ssh-mac/
在访问 ssh 后,你首先安装 composer 然后找到你的项目文件夹,现在你可以调用所有 php artisan 命令,如
php artisan migrate
【讨论】:
答案也很简单。当您的站点在线时,您仍将使用 CLI 或 CMD。如果您使用 cPanel,请转到高级选项卡并选择终端。在您的终端内使用 cd 更改驱动器。默认驱动器可能是 public_html。 cd public_html, cd
这将在您的应用程序运行时处理迁移。
【讨论】: