Basta ya de buscar por internet ya que has llegado al sitio justo, tenemos la respuesta que quieres encontrar y sin problema.
Solución:
El error se debe al uso del objeto de importación secuencial. En su lugar, debe usar CommonJS incorporado de Node require
función. Así que cambia esta línea en tu models/index.js
:
const model = sequelize['import'](path.join(__dirname, file))
para:
const model = require(path.join(__dirname, file))(sequelize, Sequelize.DataTypes)
También puede simplemente regenerar el models
directorio y lea sus modelos sin el antiguo index.js
si te resulta más fácil:
mv models models.bak && sequelize init:models && mv models.bak/index.js models.bak/index.js.bak && mv models.bak/* models/ && rm models.bak
Ese trazador de líneas solucionará su problema si tiene instalado globalmente Sequelize-cli. Si no lo haces, puedes usar este:
npm i --save-dev sequelize-cli && mv models models.bak && npx sequelize init:models && mv models.bak/index.js models.bak/index.js.bak && mv models.bak/* models/ && rm models.bak
Es posible que también deba actualizar su carpeta de configuración. Uso una configuración de JavaScript para inyectar ENV, así que tuve que agregar para cambiar mi const config = require(...
línea para reflejar eso. Si usaste uno de mis delineadores, tu viejo models/index.js
El archivo ahora está en index.js.bak si necesita obtener elementos personalizados de él.
A partir de ahora, pude solucionar el problema degradando la versión del módulo de secuenciación en su paquete.json a "sequelize": "^5.22.3",
. hazme saber si también está arreglado en tu lado.
Editar: cualquier versión de secuela bajo < 6.0.0
debería funcionar normalmente
Recuerda dar recomendación a este enunciado si lograste el éxito.