laravel 运行指定单个迁移文件

php artisan migrate --path=/database/migrations/文件名

例如 php artisan migrate --path=/database/migrations/2020_04_10_031336_create_goods_table.php

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Laravel 中,可以使用 Redis 存储用户登录 token,以实现单个用户登录。以下是实现步骤: 1. 安装 Redis 服务器和 Redis 扩展。 2. 在 config/auth.php 配置文件中,将默认的 guard 驱动器设置为 `redis`,如下所示: ```php 'defaults' => [ 'guard' => 'redis', ... ], ``` 3. 在 config/auth.php 配置文件中,添加一个新的 guard 驱动器,并将其设置为使用 Redis 存储: ```php 'guards' => [ 'redis' => [ 'driver' => 'session', 'provider' => 'users', 'lifetime' => 120, // token 过期时间,单位为分钟 'redis_connection' => 'default', // Redis 连接名 ], ... ], ``` 4. 在 config/session.php 配置文件中,将驱动器设置为 `redis`,如下所示: ```php 'driver' => env('SESSION_DRIVER', 'redis'), ``` 5. 创建一个中间件,用于检查用户是否已经登录,如果已经登录,则禁止用户登录。可以使用如下代码: ```php namespace App\Http\Middleware; use Closure; use Illuminate\Auth\AuthenticationException; use Illuminate\Contracts\Auth\Factory as AuthFactory; class EnsureSingleUserLogin { protected $auth; protected $redis; public function __construct(AuthFactory $auth) { $this->auth = $auth; $this->redis = app('redis')->connection('default'); } public function handle($request, Closure $next) { $user = $this->auth->guard()->user(); if ($user) { $key = "user:{$user->id}:token"; $token = $this->redis->get($key); if ($token !== $request->session()->getId()) { throw new AuthenticationException('已在其他设备登录'); } } return $next($request); } } ``` 6. 在路由中使用中间件来检查用户是否已经登录,如果已经登录,则禁止用户登录。可以使用如下代码: ```php Route::middleware(['auth', 'single.user.login'])->group(function () { // ... }); ``` 通过以上步骤,就可以使用 Redis 存储用户登录 token,以实现单个用户登录。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值