Прежде всего, что содержит вашу переменную manager
? ваша переменная manager
содержит продолжение соединения. Ваша цель - запросить вашу таблицу manager
, но вы не можете сделать это с помощью переменной. Поскольку он не содержит спецификации таблицы, а содержит соединение с базой данных.
const { DataTypes } = require('sequelize');
module.exports = (sequelize) => {
return sequelize.define('manager', {
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: DataTypes.INTEGER
},
name: {
allowNull: false,
type: DataTypes.STRING,
}
}, {timestamps: true });
};
В этом файле вам необходимо вернуть определение вашей таблицы.
const { Sequelize } = require('sequelize');
const manager = new Sequelize({
dialect: 'mariadb',
host: '127.0.0.1',
port: '13306',
username: 'xxx',
password: 'xxx',
database: 'test',
timezone: 'Asia/Seoul'
});
const myTable = require('./maria/manager.model')(manager);
module.exports= {
manager, myTable
};
и в этом файле вы необходимо сохранить возвращаемое значение в переменной и экспортировать его.
const express = require('express');
const app = express();
const { manager, myTable }= require('./models');
console.log(`Checking database connection...`);
// It works!
manager.authenticate().then(()=>{
console.log('Database connection OK!');
});
const find_test = myTable.findAll();
console.log(find_test);
Наконец, в следующем файле импортируйте новые экспортированные переменные! и наслаждайтесь!