laravel - 仅在一台服务器上运行 Laravel 迁移(例如 ->onOneServer() 用于计划的 cronjobs)
问题描述
我同时在多台服务器上运行 Laravel 应用程序。它在 Docker 映像中运行。每次我部署一些代码更改时,Docker 映像都会重新启动,然后它运行after_deployment.sh
包含php artisan migrate --force
. 该脚本由我的所有服务器执行,而不仅仅是一个。
所有服务器都使用相同的中央数据库。因此,如果两台服务器尝试php artisan migrate
大致同时运行,只有第一台服务器成功,另一台在中间某处失败并记录错误。这不是很好。
仅在一台服务器上运行 cronjobs(Laravel 调度程序)也有类似的问题,但现在由于 Laravel 提供了->onOneServer();
调度作业的方法,这个问题得到了解决。
仅在一台服务器上运行迁移是否有类似的东西?像php artisan migrate --force --on-one-server
什么?
解决方案
推荐阅读
- angular - 将数据导出到 excel 时,日期会根据时区而变化。如何避免?
- c# - 当我从 tfs 获取最新项目并尝试构建它时,此错误出现“csc.exe”退出代码 - 2146232576”
- sqlite - 有没有办法查看在 sqlite 中将参数应用于查询的结果?
- android - 向 HexagonLoadingView 添加渐变动画
- outlook-addin - 如何通过 Outlook 插件(使用 office-js)知道约会项目是否是全天事件
- reactjs - 支付成功后获取paypal交易ID
- objective-c - UIApplicationDidChangeStatusBarOrientationNotification 已弃用,还有其他选择吗?
- circleci - CircleCI 上是否提供 GitHub 标签?
- macos - 无法在 Linux 和 macOS 上安装 EB CLI(错误:未编译 Python ssl 扩展。缺少 OpenSSL 库?))
- python - 如何在python中使用sshtunnel模块并获得多个连接?