2
respostas

Ambientes

Como funciona esses ambientes ? Caso eu queria trocar esse ambiente como posso estar realizando isso ?

2 respostas

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!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

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