Saltar al contenido

sequelize.import no es una función

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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *