Olá pessoal, tive o seguinte problema ao usar a config dentro do banco de dados:
throw new Error('Configuration property "' + property + '" is not defined');
petshop | ^
petshop |
petshop | Error: Configuration property "mysql.database" is not defined
Essa acima é minha estrutura de pastas do projeto, no arquivo index.js eu consigo acessar a config da porta, porém dentro de database/index.js da o erro que citei acima.
Esse é meu database/index.js. Como podem ver se eu acessar diretamente ele se conecta e cria a tabela e a conexão, porém se eu usar a config (Que está comentada por esse motivo) da o erro de undefined.
const Sequelize = require('sequelize');
const config = require('config');
const db = new Sequelize(
//config.get('mysql.database'),
"petshop",
//config.get('mysql.user'),
"root",
//config.get('mysql.password'),
"root",
{
//host: config.get('mysql.host'),
host: "petshop_db",
dialect: 'mysql'
}
);
module.exports = db;
Esse é meu arquivo de configuração:
{
"mysql": {
"database": "petshop",
"user": "root",
"password": "root",
"host": "petshop_db"
},
"app": {
"port": 3000
}
}
Estou usando docker em meu projeto mas creio que isso não seja o motivo, porém irei citar as versões dos pacotes instalados para caso tenha algo relacionado:
"dependencies": {
"body-parser": "^1.19.2",
"config": "^3.3.7",
"express": "^4.17.3",
"mysql2": "^2.3.3",
"nodemon": "^2.0.15",
"sequelize": "^6.17.0"
}
Alguém sabe uma forma de solucionar essa questão? Desde ja agradeço e bons estudos a todos.