php - 更改 Laravel Passport 使用的 SQL Server 架构

标签 php laravel laravel-passport

一位同事(最近离开)在我现在工作的网站上安装了 Laravel Passport,该网站使用 SQL Server,并在默认 dbo 模式中创建了各种 oauth_ 表。

但是,我们的数据库有许多模式,具体取决于表的用途,包括“安全”,其中包含与身份验证相关的所有表。

有人要求我进行更改,以便表处于安全状态而不是 dbo,但我不知道如何实现这一点。在护照模型文件中,只指定了一个表名,生成的迁移似乎也没有指定模式的选项。我在 Passport 文档中看不到任何内容来表明这是否可行。

有谁知道是否可以在非默认架构中使用护照使用表?

最佳答案

那么你可以在你的database.php配置文件下配置不同的连接和不同的模式,然后在你的模型中指定$connection,例如:

    'sqlsrv1' => [
        'driver' => 'sqlsrv',
        'host' => env('DB_HOST', 'localhost'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'charset' => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix' => '',
        'strict' => true,
        'engine' => null,
        'schema'   => 'schema_name1',
    ],


    'sqlsrv2' => [
        'driver' => 'sqlsrv',
        'host' => env('DB_HOST', 'localhost'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'charset' => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix' => '',
        'strict' => true,
        'engine' => null,
        'schema'   => 'schema_name2',
    ],

然后在所需模型中设置$connection属性

 protected $connection = 'sqlsrv1';

关于php - 更改 Laravel Passport 使用的 SQL Server 架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46562353/

相关文章:

laravel - 如何处理 Laravel Passport 中的 OAuth 异常?

php - Laravel 护照出现 401 Unauthenticated 错误

php - 如何判断在 PHP 表单提交中单击了哪个按钮?

php - SELECT * FROM $_POST[] - PHP mySQL 格式化

laravel - Gulp:找不到模块 'laravel-elixir-vue-2'

javascript - 2checkout未经授权的错误Laravel

Laravel 护照和 Vue 登录

php ajax 发布请求

php - header 如何与 PHP 中的输出缓冲一起使用?

php - 在 Laravel 中动态更改数据库连接