Tengo un modelo llamado user.js que usa Sequelize:
const { Sequelize, Model, STRING,} = require('sequelize'); var sequelizeCredentials = null; class User extends Model{ constructor(sequelizeCredentials){ this.sequelizeCredentials = sequelizeCredentials; } }; console.log(sequelizeCredentials); User.init( { id: {type:Sequelize.UUID, defaultValue: Sequelize.UUIDV4, primaryKey:true}, username: {type:STRING, allowNull:false}, password: {type:STRING, allowNull:false}, name: {type:STRING, allowNull:false}, },{sequelize: sequelizeCredentials, modelName:'user'} ); module.exports = { User };Estoy tratando de pasar mis credenciales de secuencia desde app.js de esta manera:
const express = require('express'); const { Sequelize } = require('sequelize'); const mysql = require('mysql2/promise'); const user = require('./modals/user'); const app = express(); app.use(express.json()); initialize(); async function initialize() { const sequelize = new Sequelize( 'express_project', 'root', '', { dialect: 'mysql' } ); localUser = new user.User(sequelize); await sequelize.sync(); }Sin embargo, sigo recibiendo un error que dice "No pasó ninguna instancia de Sequelize".
Soy muy nuevo en JS/TS.
prueba esto
const { Sequelize, Model, STRING,} = require('sequelize'); class User extends Model{ constructor(){ super(); } static init(sequelize) { return super.init({ id: {type:Sequelize.UUID, defaultValue: Sequelize.UUIDV4, primaryKey:true}, username: {type:STRING, allowNull:false}, password: {type:STRING, allowNull:false}, name: {type:STRING, allowNull:false}, },{sequelize, modelName:'user'}); } } module.exports = { User };en aplicación.js
async function initialize() { const sequelize = new Sequelize( 'express_project', 'root', '', { dialect: 'mysql' } ); User.init(sequelize); await sequelize.sync();}
más clases de od es6 con secuencias mira esto https://codewithhugo.com/using-es6-classes-for-sequelize-4-models/