Mysql Sequelize模型导出一个函数

Mysql Sequelize模型导出一个函数,mysql,node.js,sequelize.js,Mysql,Node.js,Sequelize.js,我定义了这个模型: const Sequelize = require('sequelize'); const db = require("../database/db") var Reparacion = db.sequelize.define('reparaciones', { id: { type: Sequelize.INTEGER, allowNull: false, autoIncrement: true,

我定义了这个模型:

const Sequelize = require('sequelize');
const db = require("../database/db")
var Reparacion = db.sequelize.define('reparaciones', {
    id: {
      type: Sequelize.INTEGER,
      allowNull: false,
      autoIncrement: true,
      primaryKey: true,
    },
    descripcion: {
      type: Sequelize.STRING(255),
      allowNull: true
    },
    fecha_inicio: {
      type: Sequelize.DATEONLY,
      allowNull: true
    },
    fecha_fin: {
      type: Sequelize.DATEONLY,
      allowNull: true
    },
  },{});
module.exports=Reparacion
在其他模型中,当我在其他模型中定义foreing键时,这些方法有许多和belongsTo不起作用,因为我在函数中调用它们:

  const Reparacion = require("./reparacion")
  console.log(typeof(Vehiculo))
  console.log(typeof(Reparacion))
  Vehiculo.hasMany(Reparacion,{foreingKey:"vehiculoId", onDelete: 'cascade', sourceKey:"matricula"})
  Reparacion.belongsTo(Vehiculo)
两个控制台日志返回:“函数”

为了正确定义关联,我必须更改什么

编辑

这就是de“Vehiculo”模型:


嗯,预计
typeof vehicleulo
typeof Reparacion
将返回一个
函数
,这是因为每个构造函数或类都是JS中的函数,所以当您为实体创建模型时,它会返回一个函数/构造函数,可以为您创建实体的实例。所以这没有问题


实际上,文档显示了类似的代码

,但是如果你调用函数,我会得到一个错误:“TypeError:Vehiculo.hasMany不是函数”你能添加导出和导入的方式吗
Vehiculo
?该代码生成一个名为“vehiculoId”VARCHAR(45)的表,但我不知道为什么这个名称,为什么不使用foreing键
const Sequelize = require('sequelize');
const db = require("../database/db")
var Vehiculo = db.sequelize.define('vehiculos', {
    id: {
      type: Sequelize.INTEGER,
      autoIncrement: true,
      primaryKey: true,
      allowNull: true
    },
    matricula: {
      type: Sequelize.STRING(45),
      allowNull: false,
      primaryKey: true,
    },
    marca: {
      type: Sequelize.STRING(50),
      allowNull: true
    },
    modelo: {
      type: Sequelize.STRING(50),
      allowNull: true
    },
    
    anio: {
      type: Sequelize.INTEGER,
      allowNull: true
    },
    color: {
      type: Sequelize.STRING(20),
      allowNull: true
    },
    puertas: {
      type: Sequelize.INTEGER,
      allowNull: true
    },
    motor: {
      type: Sequelize.STRING(20),
      allowNull: true
    },
  },{});
  const Reparacion = require("./reparacion")
  Vehiculo.hasMany(Reparacion,{foreingKey:"vehiculoMatricula", onDelete: 'cascade', sourceKey:"matricula"})
  Reparacion.belongsTo(Vehiculo)
  module.exports=Vehiculo