Como funciona esses ambientes ? Caso eu queria trocar esse ambiente como posso estar realizando isso ?
Como funciona esses ambientes ? Caso eu queria trocar esse ambiente como posso estar realizando isso ?
Olá, Leonardo! Tudo joia?
Os "ambientes" que você mencionou referem-se às diferentes configurações que um projeto pode ter dependendo do contexto em que está sendo executado. No caso do Sequelize, geralmente configuramos três ambientes principais: desenvolvimento (development
), teste (test
) e produção (production
). Cada um desses ambientes pode ter diferentes configurações de banco de dados, credenciais, etc.
Para trocar o ambiente, você basicamente precisa alterar a variável de ambiente NODE_ENV
que o seu aplicativo está utilizando. Por exemplo, se você estiver usando o npm
ou yarn
, você pode definir o ambiente diretamente no comando de execução:
NODE_ENV=production node app.js
Ou, se estiver usando um script no package.json
, pode configurar assim:
"scripts": {
"start": "NODE_ENV=production node app.js",
"dev": "NODE_ENV=development nodemon app.js",
"test": "NODE_ENV=test nodemon app.js"
}
Dessa forma, ao rodar npm run start
, npm run dev
ou npm run test
, o ambiente será configurado conforme especificado.
No arquivo config.json
do Sequelize, você verá algo assim:
{
"development": {
"username": "root",
"password": null,
"database": "database_development",
"host": "127.0.0.1",
"dialect": "sqlite",
"storage": "./database.sqlite"
},
"test": {
"username": "root",
"password": null,
"database": "database_test",
"host": "127.0.0.1",
"dialect": "sqlite",
"storage": "./database_test.sqlite"
},
"production": {
"username": "root",
"password": null,
"database": "database_production",
"host": "127.0.0.1",
"dialect": "sqlite",
"storage": "./database_production.sqlite"
}
}
Cada um desses blocos de configuração será utilizado conforme o valor da variável NODE_ENV
.
Espero ter ajudado e bons estudos!
Ahh entendi perfeitamente! Usando essa estrutura dos script é melhor mesmo, estava pensando no uso do dotenv e declarando NODE_ENV="ambienteEscolhido" e achei meio não usual ja que creio eu a troca entre ambientes em determinadas situações serão mais usual e ter que ficar trocando o valor de NODE_ENV toda hora não seria produtivo/usual