para - mysql aws
Cómo usar diferentes bases de datos en desarrollo que en producción (3)
Debido a que estoy desarrollando en mi computadora portátil y en mi destkop, también quiero usar un servidor SQL lo que puedo conectar en cualquier momento.
Quiero conectarme a esto cuando estoy en el entorno de desarrollo y usar otro cuando estoy en producción. ¿Cómo puedo conseguir esto?
Intenté esto en la config/database
:
if(''env'' == ''development''){
$host = ''mysqlserver.alias.com'';
$database = ''mydb'';
$username = ''myuname'';
$password = ''mypwd'';
} else {
$host = whatsintheenv;
$database = whatsintheenv;
$username = whatsintheenv;
$password = whatsintheenv;
}
En Laravel puedes verificar el entorno de la siguiente manera:
if (App::environment(''local'')) {
// The environment is local
}
if (App::environment([''local'', ''staging''])) {
// The environment is either local OR staging...
}
Esto debe ser manejado por la configuración de su entorno a través del archivo .env
.
Si aún no tiene un archivo .env
, haga una copia de .env.example
. Allí, encontrarás estas configuraciones:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
Simplemente modifique estos valores para conectarse al servidor de base de datos correcto.
El archivo .env
se excluye del control de origen, por lo que su computadora portátil y su escritorio pueden tener diferentes contenidos en este archivo.
Laravel hace uso de la biblioteca PHP dotenv - https://github.com/vlucas/phpdotenv .
Esto significa que querrá crear un archivo .env
en cada una de sus máquinas con la conexión que quiera usar. Luego, en su código, puede cargar estos valores usando App:environment(''ENV_VALUE'')
.