0
알림 및 사용자가 포함 된 데이터베이스가 있습니다.1 : m 연결에서 중복 된 foreignKey를 sequelize
사용자는 하나의 사용자 만 알림을 생성 할 수 있지만 많은 알림을 만들 수 있습니다.
내가 이런 짓을 사용하여이 sequelize를 정의하려면 :공지 사항 모델 :
'use strict';
module.exports = function (sequelize, DataTypes) {
var announcement = sequelize.define('announcements', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
title: DataTypes.STRING,
description: DataTypes.TEXT,
likes: DataTypes.INTEGER
}, {
classMethods: {
associate: function (models) {
/**
* an announcement is created by only one user
*/
announcement.belongsTo(models.users, {
as: 'Owner'
});
}
}
});
return announcement;
}
사용자 모델 : 나는 중복 된 사용자 ID를 찾을 수
'use strict';
module.exports = function (sequelize, DataTypes) {
var users = sequelize.define('users', {
id: {
type: DataTypes.INTEGER,
primaryKey: true
},
username: {
type: DataTypes.STRING,
unique: true
},
email: {
type: DataTypes.STRING,
unique: true,
validate: {
isEmail: true
}
}
}, {
timestamps: true,
classMethods: {
associate: function (models) {
/**
* a user has many announcements
*/
users.hasMany(models.announcements, {
as: 'Announcements',
foreingKey: {
name: 'id',
allowNull: false
}
});
}
}
});
return users;
};
응용 프로그램을 실행 한 후 (OwnerId 및 userId)를 발표 데이터베이스에 추가합니다. 오직 하나의 'OwnerId'여야합니다.
그래서 내가 잘못한 것은 무엇입니까?