• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

db연결이 안됩니다... ㅠㅠ

20.12.30 17:00 작성 조회수 207

0

npx sequelize db:create  한후 created 가 뜨고,  node app 을 치면 database가 없다고 나옵니다

models > index.js 인데,

config를 찍어보니 undefined 가 나오고

const Sequelize = require("sequelize");
const env = process.env.NODE_ENV || "developement";
const config = require("../config/config")[env];
const db = {};
console.log(config); // undefined 뜹니다
const sequelize = new Sequelize(
config.database,
config.username,
config.password,
config
);

db.Comment = require("./comment")(sequelize, Sequelize);
db.Hashtag = require("./hashtag")(sequelize, Sequelize);
db.Image = require("./image")(sequelize, Sequelize);
db.Post = require("./post")(sequelize, Sequelize);
db.User = require("./user")(sequelize, Sequelize);

Object.keys(db).forEach((modelName) => {
if (db[modelName].associate) {
db[modelName].associate(db);
}
});

db.sequelize = sequelize;
db.Sequelize = Sequelize;

module.exports = db;

config.json 은 별다른 이상이 없어보이는데 뭐가 문제일까요..?

{
"development": {
"username": "root",
"password": "비번"
"database": "react-nodebird",
"host": "127.0.0.1",
"dialect": "mysql"
},

답변 5

·

답변을 작성해보세요.

1

developement 이거 development인데 오타인가요?

0

과연님의 프로필

과연

질문자

2020.12.30

아하 오타였군요.... 실행되네요 감사합니다!!

0

저는 뒤에 config/config.json으로 .json을 붙여줬는데 이거 붙이시면 차이가 있나요?

0

과연님의 프로필

과연

질문자

2020.12.30

....

production: {

    username: 'root',

    password: null,

    database: 'react-nodebird',

    host: '127.0.0.1',

    dialect: 'mysql'

  }

} developement (<--env)

/Users/..../react-nodebird/prepare/back/models/index.js:8

  config.database,

         ^

TypeError: Cannot read property 'database' of undefined

둘다 잘나옵니다,,, ㅜㅜ

0

console.log(require('../config/config.json'), env); 해서 둘 다 제대로 나오는지 확인해주세요~