Экспресс соединение с SQLite: не найти таблицу в базе данных (которая существует) - PullRequest
0 голосов
/ 07 апреля 2019

Я не могу получить доступ к своей базе данных в 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...