tab-tracker icon indicating copy to clipboard operation
tab-tracker copied to clipboard

can't read 'name' of undefine (model.name = model is undefined? )

Open Hychhayrith opened this issue 6 years ago • 6 comments

Hello everyone. Can anyone help me? Getting this error sequelize doesn't generate tabtracker.sqlite for me. ` db[model.name] = model ^

TypeError: Cannot read property 'name' of undefined at fs.readdirSync.filter.forEach (C:\Users\HyChhayrith\Documents\Code\github\webappWithFreecodecamp\server\src\models\index.js:16:18) at Array.forEach () at Object. (C:\Users\HyChhayrith\Documents\Code\github\webappWithFreecodecamp\server\src\models\index.js:14:65) at Module._compile (module.js:652:30) at Object.Module._extensions..js (module.js:663:10) at Module.load (module.js:565:32) at tryModuleLoad (module.js:505:12) at Function.Module._load (module.js:497:3) at Module.require (module.js:596:17) at require (internal/module.js:11:18) at Object. (C:\Users\HyChhayrith\Documents\Code\github\webappWithFreecodecamp\server\src\app.js:5:21) at Module._compile (module.js:652:30) at Object.Module._extensions..js (module.js:663:10) at Module.load (module.js:565:32) at tryModuleLoad (module.js:505:12) at Function.Module._load (module.js:497:3) at Function.Module.runMain (module.js:693:10) at startup (bootstrap_node.js:191:16) at bootstrap_node.js:612:3 [nodemon] app crashed - waiting for file changes before starting...`

Below is my code `fs.readdirSync(__dirname).filter((file) => file !== 'index.js').forEach((file) => { const model = sequelize.import(path.join(__dirname, file)) db[model.name] = model })

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

Hychhayrith avatar Jun 01 '18 02:06 Hychhayrith

It works now: At the first place it doesn't generate tabtracker.sqlite for me so i do console.log and try and catch to check error and suddenly it generates for me fs .readdirSync(__dirname) .filter((file) => file !== 'index.js' ) .forEach((file) => { const model = sequelize.import(path.join(__dirname, file)) console.log("model " + model) try{ db[model.name] = model console.log("working") }catch(err){ console.error(err) }

})

Hychhayrith avatar Jun 01 '18 02:06 Hychhayrith

the same to me, may u forget return User

bing-zhub avatar Jun 01 '18 05:06 bing-zhub

module.exports = (sequelize, DataTypes) => {
  const User = sequelize.define('User', {
    email: {
      type: DataTypes.STRING,
      unique: true
    },
    password: DataTypes.STRING
  });
  return User;
}

The above code helped me.

banavasi avatar Dec 15 '18 20:12 banavasi

The answer provided by shashankshandilyav helped me. I wasn't returning User.

cocomatt avatar Mar 12 '19 22:03 cocomatt

module.exports = (sequelize, DataTypes) => {
  const User = sequelize.define('User', {
    email: {
      type: DataTypes.STRING,
      unique: true
    },
    password: DataTypes.STRING
  });
  return User;
}

The above code helped me.

This answer worked for me, return User; Thanks.

ianquar avatar Mar 19 '20 22:03 ianquar

module.exports = (sequelize, DataTypes) => {
  const User = sequelize.define('User', {
    email: {
      type: DataTypes.STRING,
      unique: true
    },
    password: DataTypes.STRING
  });
  return User;
}

The above code helped me.

Thank you very much sir, I wasn't returning User. You just made my day!!!

SamanjaCartagena avatar Mar 25 '22 18:03 SamanjaCartagena