- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的 Node js 项目中,我使用的是express 和sequelize。我想创建一些装置来填充我的数据表。
使用Sequelize-fixtures npm,这是我的 fixtures.js
文件:
'use strict';
const sequelize_fixtures = require('sequelize-fixtures');
// define all the model
const models = {
Mission: require(__dirname+'/../models/mission.js')
};
var fixtures =[
{
"model": "Mission",
"data": {
"description": "mission test 1",
"state": "pending",
"slug" : "mission-test-1"
}
},
{
"model": "Mission",
"data": {
"description": "mission test 2",
"state": "finished",
"slug" : "mission-test-2"
}
}
];
// export and load fixtures
module.exports = {
loadFixtures: () => {
// can use glob syntax to select multiple files
sequelize_fixtures.loadFixtures(fixtures, models).then(function(){
console.log("Fixtures have been loaded, check your database tables ;) !!!");
});
}
};
在我的项目的根目录中,我在 server.js
中这样调用此模块:
// ...
// Importing sequelize
let database = require(__dirname + '/database/database');
let fixturesLoader = require(__dirname+'/database/fixtures/fixtures.js');
但是当我重新启动 Node 服务器时,我的控制台中现在出现此错误:
Unhandled rejection Error: models.Mission appears to be a function. Perhaps you are importing model factory function? You should then use sequelize.import to create your model, see https://github.com/sequelize/express-example/blob/master/models/index.js#L17
当然,我检查了链接,这就是我使用sequelize以及名为database.js的文件中的配置的方式:
'use strict';
const fs = require('fs');
const path = require('path');
const Sequelize = require('sequelize');
const config = require(__dirname+'/database.json');
const db = {};
let sequelize = new Sequelize(config.db.dbname, config.db.user, config.db.password, {
host: config.db.host,
port: config.db.port,
define: {
// And deletedAt to be called destroyTime (remember to enable paranoid for this to work)
deletedAt: 'deleted_at',
paranoid: true,
// don't use camelcase for automatically added attributes but underscore style
underscored: true,
// disable the modification of table names; By default, sequelize will automatically
// transform all passed model names (first parameter of define) into plural.
freezeTableName: true,
charset: 'utf8',
collate: 'utf8_general_ci',
timestamps: true,
language: 'fr'
}
});
fs.readdirSync(__dirname + '/models').filter(function (file) {
return (file.indexOf('.') !== 0);
}).forEach(function (file) {
let model = sequelize.import(path.join(__dirname + '/models', file));
db[model.name] = model;
});
Object.keys(db).forEach(function (modelName) {
if ('associate' in db[modelName]) {
db[modelName].associate(db);
}
});
db.sequelize = sequelize;
db.Sequelize = Sequelize;
module.exports = db;
我知道我正在将模型作为函数导入,但是按照文档,我不明白如何在没有这种方式的情况下导入它们。
最佳答案
我刚刚通过在sequelize-fixtures/lib/loader.js 中注释这两行来解决了这个问题:
if (!Model) {
throw new Error('Model not found: ' + fixture.model);
// } else if (typeof Model === 'function') {
// throw new Error('models.' + fixture.model + ' appears to be a function. Perhaps you are importing model factory function? You should then use sequelize.import to create your model, see https://github.com/sequelize/express-example/blob/master/models/index.js#L17');
} else if (!Model.findOne) {
throw new Error('models.' + fixture.model + ' is not a sequelize model.');
}
关于javascript - 将模型作为函数导入, Sequelize 装置不从 json 文件 : Unhandled rejection Error return? 导入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39142315/
我一直在努力理解下面两个的区别,哪个是空闲的使用方式: let getClient = () => { return connect() .then((client) => {
我正在学习一门关于 JavaScript 函数式编程的很棒的在线类(class)。在讲师使用 Array.prototype.reject() 并且它在运行时对我不起作用之前,我一直很好。 我想使用“
这个问题在这里已经有了答案: Do I need to return after early resolve/reject? (6 个答案) 关闭 6 年前。 我是 Promise 的新手,我想知道
我对 Angular JS deferred 和 $q 感到困惑。我找到了这个 SO Question这解释了 $q.defer() 和 $q 之间的区别。它解释了 $q.reject is a sh
我正在尝试处理 Angular $q 服务及其相关对象和 API。当我查看控制台中的对象时,我看到: var deferred = $q.defer() ...(and then from conso
我在运行测试时遇到问题(在 Node 中), 我正在模拟一个被拒绝的 promise ,我的代码应该重试(使用 promise-retry 如果可能相关的话)。 当我使用 stub.returns(P
当我编译或运行它时,程序会显示正确的信息。问题是当我检查程序时。它显示“:(拒绝”“分钟检查我的时等待输入被拒绝时超时”程序。我也尝试使用 GetInt 和 get_int 。你能帮助我吗,请? in
对于 Ruby 中的 Hash,reject! 和 reject 与 delete_if 有何不同?谁能用简单的代码片段解释它们之间的区别? 最佳答案 由于其他答案指的是 Array#delete_i
当我尝试使用 Firestore 获取数据时,出现上述错误 - 我正在尝试从数据库检索 token ,以便可以发送消息: exports.getUsers = functions.https.onRe
这个问题在这里已经有了答案: Are JavaScript forever-pending promises bad? (2 个答案) 关闭 4 年前。 问题是这样的 function demo()
您好,我正在尝试调用返回 promise 的异步函数 makeRemoteExecutableSchema。 async function run() { const schema = await
我发出的每个 http 请求似乎都会出现此错误。我不太确定它来自哪里? (node:39390) UnhandledPromiseRejectionWarning:未处理的 promise 拒绝(拒绝
我的代码运行良好,但今天运行时发生了这种情况: (node:8592) UnhandledPromiseRejectionWarning: Unhandled promise rejection (r
我正在尝试从 mlabs 连接 mongodb。我插入了以下代码: Mongoose.connect('mongodb://:@ds163402.mlab.com:63402/projecttwist
我已将 Cucumber 与 nightwatch.js 集成。 我的 package.json 看起来像:- { "name": "learning-nightwatch", "versio
目前,我在“Javascript”代码中遇到了 promise 问题。它不断抛出“TypeError: res.status(...).json(...).catch is not a functio
首先,请看这个demo。 function loadImageAsync(url) { return new Promise(function(resolve, reject) { var
我已经在这个问题上工作了很长时间,但我无法真正解决它。当我执行 ionic Cordova build android 时,它运行良好,直到它到达 Cordova build android,任何人都
不知道是什么导致了这个问题。昨天它运行良好。今天,当我尝试运行 react-native run-android 时。我收到这个错误。有任何想法吗? Starting JS server... Run
我是第一次使用.then,而不是.then我使用回调函数。 下面是我的代码片段: phantom.create().then(function (ph) { ph.createPage().t
我是一名优秀的程序员,十分优秀!