Я получаю эту ошибку, когда хочу создать внешний ключ от объекта Tweet к объекту User. Я имею в виду, что у твита есть пользователь, а у пользователя - куча твитов. Я использую TypeScript + NodeJS + express
tweets.belongs Для вызова с чем-то, что не является подклассом Sequelize.Model
Вот мои 2 определения сиквела:
import database = require('../config/database')
import DBUser = require('./DBUser');
const Sequelize = require('sequelize')
const DBTweet = database.define('tweets', {
tweetAuthorID: {
type: Sequelize.INTEGER,
allowNull: false,
},
timestamp: {
type: Sequelize.STRING,
allowNull: false,
},
content: {
type: Sequelize.STRING,
allowNull: false
},
postedImageURL: {
type: Sequelize.STRING(255),
allowNull: true,
defaultValue: null,
}
}, {
timestamps: false
})
DBTweet.belongsTo(DBUser)
export = DBTweet
второй:
import database = require('../config/database')
import DBTweet = require('./DBTweet');
const Sequelize = require('sequelize')
const DBUser = database.define('users', {
name: {
type: Sequelize.STRING,
allowNull: false
},
username: {
type: Sequelize.STRING,
allowNull: false,
unique: true
},
loginType: {
type: Sequelize.STRING,
allowNull: false
},
email: {
type: Sequelize.STRING,
allowNull: true,
defaultValue: null,
unique: true
},
password: {
type: Sequelize.STRING(255),
allowNull: true,
defaultValue: null
},
telephoneNumber: {
type: Sequelize.STRING,
allowNull: true,
defaultValue: null,
unique: true
},
profileImageID: {
type: Sequelize.STRING,
allowNull: false
},
bannerImageID: {
type: Sequelize.STRING,
allowNull: false
},
profileDescription: {
type: Sequelize.STRING,
allowNull: false
}
}, {
timestamps: false
})
DBUser.hasMany(DBTweet)
export = DBUser