【问题标题】:Laravel testing database migration fails due to PassportLaravel 测试数据库迁移因 Passport 而失败
【发布时间】:2021-11-20 19:21:17
【问题描述】:

我安装了 Laravel Passport 并在我的数据库中很好地迁移了新表。但是当我尝试为测试数据库运行迁移时,即。 artisan migrate --database=testing我明白了:

SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'oauth_auth_codes' already exists

测试数据库中唯一存在的表是migrations 表。它看起来好像是在检查常规数据库并查看此 Passport 表,而不是检查测试数据库。我在这里错过了一些简单的事情吗?

【问题讨论】:

    标签: php laravel laravel-passport laravel-migrations


    【解决方案1】:

    php artisan ... 命令将使用您的.env 变量进行配置,所以是的,除非您指定要使用的数据库连接,否则它将使用您默认的.envDB_ 变量。

    您可以定义类似.env.testing 的内容,然后以php artisan migrate --env=testing 重新运行以使用该文件而不是您的默认文件。

    .env:

    DB_CONNECTION=mysql
    DB_DATABASE=database
    ...
    # Host, Port, Username, Password, 
    

    .env.testing:

    DB_CONNECTION=mysql
    DB_DATABASE=testing
    ...
    # Host, Port, Username, Password, 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-05
      • 2016-06-28
      • 2018-04-06
      • 1970-01-01
      • 1970-01-01
      • 2013-02-03
      • 2016-01-01
      • 2012-06-10
      相关资源
      最近更新 更多