mysql - 如何在开发和生产中使用不同的数据库

标签 mysql laravel laravel-5 configuration phpunit

因为我也在我的笔记本和我的桌面上开发,所以我想使用一个我可以随时连接的 sql server。

我想在开发环境中连接到这个,在生产环境中使用另一个。我怎样才能做到这一点?

我在 config/database 中试过这个:

if('env' == 'development'){ 
    $host = 'mysqlserver.alias.com'; 
    $database = 'mydb'; 
    $username = 'myuname'; 
    $password = 'mypwd'; 
} else { 
    $host = whatsintheenv; 
    $database = whatsintheenv; 
    $username = whatsintheenv; 
    $password = whatsintheenv;    
} 

最佳答案

这应该由您的环境配置通过 .env 文件来处理。

如果您还没有.env 文件,请复制.env.example。在那里,您会找到这些设置:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

只需修改这些值即可连接到正确的数据库服务器。

.env 文件被排除在源代码控制之外,因此您的笔记本和桌面可以在此文件中包含不同的内容。

关于mysql - 如何在开发和生产中使用不同的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45479858/

相关文章:

MySQL 查询获取每个组的最后 N 行

php - MySQL 在不同的列上两次连接同一个表而不会发生冲突

php - 当从表 "add_hotels"中获取数据时,除了所需的数据外,我还在 Laravel 中获取了一些 NULL 数组

显示 html 标签的 Laravel 5 邮件模板

mysql - 在 laravel5 中打印 mysql 查询

mysql - Laravel 迁移(错误号 : 150 "Foreign key constraint is incorrectly formed")

mysql — 返回未被其他人更新的行

mysql - 在docker compose上执行SQL脚本

nginx - 如何在 Laravel Homestead 盒子上设置 phpMyAdmin?

php - laravel/php - 按 id 分组但仍然获取每一行数据