Я не могу получить доступ к своей базе данных в SQLite3 из экспресс.Я сделал миграцию, чтобы создать таблицу и вставить 2 строки.Если я открою базу данных с помощью браузера БД для SQLite, база данных выглядит нормально.Но когда я пытаюсь получить значения из экспресса с использованием POSTMAM для тестирования API, я получаю ошибку 500, в которой говорится, что таблица не существует.
//ROUTE OF MY API /api/artist
const express = require('express');
const artistsRouter = express.Router();
const sqlite3 = require('sqlite3');
const db = new sqlite3.Database('../database.sqlite');
artistsRouter.get('/', (req, res, next) => { //this route is /api/artists
// retrieve all entries in the Artist table
db.all(`SELECT * FROM Artist`, (err, artists) => {
if (err) {
return next(err);
}
console.log('mmmm'); // THIS IS NEVER REACHED
return res.status(200).json(artists);
});
});
module.exports = artistsRouter;
Я использовал следующий код в migration.js
, чтобы сделатьтаблица в базе данных и она работает как положено.
const sqlite3 = require('sqlite3');
const db = new sqlite3.Database('./database.sqlite');
db.serialize( () => {
db.run(`CREATE TABLE IF NOT EXISTS Artist (
id INTEGER PRIMARY KEY NOT NULL,
name TEXT NOT NULL,
date_of_birth TEXT NOT NULL,
biography TEXT NOT NULL,
is_currently_employed INTEGER DEFAULT 1
)`);
});
На данный момент я знаю, что маршрут достигнут.Я использую POSTMAN, чтобы попробовать это.Я ожидаю, что смогу получить всю информацию на моем столе Artist.