【问题标题】:GraphQl , Sequelize-CLi, models bundler - sequelize.import is not a functionGraphQl,Sequelize-CLi,模型捆绑器 - sequelize.import 不是函数
【发布时间】:2020-11-13 17:14:11
【问题描述】:

我正在关注关于 sequelize-cli 的教程:https://andela.com/insights/using-graphql-and-sequelize/

我得到一个错误:'sequelize.import 不是一个函数'

它来自 models/index.js(应该捆绑所有模型)

'use strict';

const fs = require('fs');
const path = require('path');
const Sequelize = require('sequelize');
const basename = path.basename(__filename);
const env = process.env.NODE_ENV || 'development';
const config = require(__dirname + '/../config/config.json')[env];
const db = {}; 

// Set DB Connection
let sequelize;
if (config.use_env_variable) {
  sequelize = new Sequelize(process.env[config.use_env_variable], config);
} else {
  sequelize = new Sequelize(config.database, config.username, config.password, config);
}

// Import model files in models folder and make table associations where present
fs
  .readdirSync(__dirname)
  .filter(file => {
    return (file.indexOf('.') !== 0) && (file !== basename) && (file.slice(-3) === '.js');
  })
  .forEach(file => {
    const model = sequelize['import'](path.join(__dirname, file));
    db[model.name] = model;
  });

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

db.sequelize = sequelize;

我在网上搜索解决方案,但我看到的都不起作用。

有什么想法吗??

【问题讨论】:

    标签: express graphql sequelize.js sequelize-cli


    【解决方案1】:

    好的解决了!

    没想到

      .forEach(file => {
        const model = sequelize['import'](path.join(__dirname, file));
        db[model.name] = model;
      });
    
    

    在同一个位置,所以正确答案是:

      .forEach(file => {
        db[model.name] = file
      });
    

    【讨论】:

      猜你喜欢
      • 2021-08-21
      • 2020-11-06
      • 2020-10-18
      • 1970-01-01
      • 1970-01-01
      • 2019-08-10
      • 2018-04-15
      • 2017-10-15
      • 1970-01-01
      相关资源
      最近更新 更多