Невозможно подключить express бэкэнд к sqlite3 с помощью sequelize - PullRequest
0 голосов
/ 29 марта 2020

Я пытаюсь подключиться с помощью 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". Пожалуйста, помогите.

...