我在Sequelize中遇到了我的数据模型问题。从我可以收集到的,它与我的协会有关。我在抛出这个错误的时候有点迷失了。我在Admin和Filter之间有一个1:m的关联,另一个模型是User。
管理
"use strict";
module.exports = function(sequelize, DataTypes) {
var Admin = sequelize.define("Admin", {
username: DataTypes.STRING,
password: DataTypes.STRING
}, {
classMethods: {
associate: function(models) {
Admin.hasMany(models.Filter,{
foreignKey: 'id',
})
}
},
freezeTableName:true
});
Admin.sync()
return Admin;
};
过滤
"use strict";
module.exports = function(sequelize, DataTypes) {
var Filter = sequelize.define("Filter", {
title: DataTypes.STRING,
image_uri: DataTypes.STRING,
tags: DataTypes.ARRAY(DataTypes.STRING),
ownerId: DataTypes.INTEGER,
isFeatured: DataTypes.BOOLEAN,
AdminId: DataTypes.INTEGER
}, {
classMethods: {
associate: function(models) {
Filter.belongsTo(models.Admin, {
foreignKey: 'id',
as: 'admin'
});
}
},
freezeTableName:true
});
Filter.sync();
return Filter;
};
用户
"use strict";
module.exports = function(sequelize, DataTypes) {
var User = sequelize.define("User", {
name: DataTypes.STRING,
first_name: DataTypes.STRING,
last_name: DataTypes.STRING,
age_range: DataTypes.STRING,
gender: DataTypes.STRING,
email: {
type: DataTypes.STRING,
unique: true
}
}, {
freezeTableName:true
});
User.sync()
return User;
};
当我创建新过滤器时,我能够创建并保存第一个过滤器,但之后创建的任何过滤器都会出现此错误:Unhandled rejection SequelizeForeignKeyConstraintError
此外,当我启动应用程序并创建表格时,我收到以下两个错误:Unhandled rejection SequelizeDatabaseError: relation "Admin" does not exist
和Unhandled rejection SequelizeUniqueConstraintError: Validation error