tweets.belongsTo вызывается с чем-то, что не является подклассом Sequelize.Model - PullRequest
0 голосов
/ 05 мая 2019

Я получаю эту ошибку, когда хочу создать внешний ключ от объекта 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
...