Я пытаюсь подключиться с помощью Node.js Backend с sqlite3, используя sequelize. Я написал config.js
файл со всеми деталями, необходимыми для подключения с помощью sequelize. Это config.js
код:
module.exports = {
port: process.env.PORT || 5000,
db: {
database: process.env.DB_NAME || 'tabtracker',
user: process.env.DB_USER || 'tabtracker',
password: process.env.DB_PASS || 'tabtracker',
options: {
dialect: process.env.DIALECT || 'sqlite',
host: process.env.HOST || 'localhost',
storage: './tabtracker/sqlite'
}
}
}
Этот config.js
файл включен в index.js
, который инициализирует новый объект сиквелизации и передает в него все детали из config.js
. Он также передает модель, которую я хочу создать в базе данных. Это index.js
код:
const fs = require('fs')
const path = require('path')
const Sequelize = require('sequelize')
const config = require('../config/config')
const db = {}
const sequelize = new Sequelize(
config.db.database,
config.db.user,
config.db.password,
config.db.options,
)
//Passing in the Model
fs.readdirSync(__dirname).filter((file) => file !== 'index.js').forEach((file) => {
const model = sequelize.import(path.join(__dirname, file))
db[model.name] = model
})
db.sequelize = sequelize
db.Sequelize = Sequelize
console.log(db)
module.exports = db
Экспортированный файл db
передается в мой основной файл app.js
, в который я включаю index.js
и выполняю следующие действия:
sequelize.sync().then(() => {
app.listen(PORT, console.log(`Server Listening at Port: ${PORT}`))
}) //PORT = 5000
Я ожидал, что база данных подключится, но вместо этого она показывает конкретную ошибку:
Unhandled rejection SequelizeConnectionError: SQLITE_CANTOPEN: unable to open database file
at Database.<anonymous> (C:\Users\Mushood Hanif\Documents\Work\Web Development\Complete Apps\
guitar-tab-tracker\server\node_modules\sequelize\lib\dialects\sqlite\connection-manager.js:61:34)
Я не могу определить ошибку здесь. Я использую "sequelize": "^5.21.5"
и "sqlite3": "^4.1.1"
. Пожалуйста, помогите.