gpt4 book ai didi

database - 如何指定 Tinker 使用不同的数据库连接?

转载 作者:搜寻专家 更新时间:2023-10-30 19:57:28 26 4
gpt4 key购买 nike

我有两个数据库连接。一个用于我的应用程序,另一个用于测试。在我的..\config\database.php

         'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],

'testing' => [
'driver' => 'mysql',
'host' => env('DB_TEST_HOST', 'localhost'),
'database' => env('DB_TEST_DATABASE', 'forge'),
'username' => env('DB_TEST_USERNAME', 'forge'),
'password' => env('DB_TEST_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],

我可以使用 seeding 更改数据库连接

php artisan db:seed --database=testing

我想使用 tinker 进行连接“测试”,但无法更改它。有什么方法可以像数据库播种一样改变数据库连接吗?

最佳答案

当您的问题开始于使用一个数据库进行测试/开发和使用一个数据库进行生产时,您应该考虑使用不同的环境,这将使您的代码在部署和本地测试之间没有变化。


通过指定您的环境可以轻松完成此任务:

php artisan tinker --env=local

By default, if you specify no --env, you will be using /your-app/.env

当使用 local 时,您从 /your-app/.env.local 读取变量>


对于您的特定用例:

php artisan db:seed --env=local

Laravel 5.1 的进一步阅读:https://laravel.com/docs/5.1/configuration

最新版本:https://laravel.com/docs/configuration

注意:您应该避免将“.env”文件 checkin VCS,.env.local 应该可以共享,但最好不要将生产凭证与您的 VCS 捆绑在一起.

关于database - 如何指定 Tinker 使用不同的数据库连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49649889/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com