'How to pass variable into init in a JavaScript program
I have a model named user.js that uses 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 };
I am trying to pass my sequelize credentials from the app.js like this:
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();
}
However, I keep getting an error saying "No Sequelize instance passed".
I am very new to JS/TS.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
