Запрос существующей базы данных Sqlite3 с использованием Knex в React - PullRequest
0 голосов
/ 12 апреля 2020

TL; DR: я не могу прочитать свою базу данных sqlite с помощью Knex в React.

Используя приложение create-реакции-приложение, я создаю новое одностраничное приложение:

npx create-react-app knex-react && cd knex-react

Я устанавливаю knex, sqlite3 (а также ms sql, не знаю почему, но в противном случае получаю ошибку):

npm install knex sqlite3 mssql

I измените каталог на publi c и создайте новую базу данных:

cd public
sqlite3 test.db

Я создаю файл с именем insert. sql со следующим текстом внутри:

DROP TABLE IF EXISTS people;

CREATE TABLE people (
    forename text NOT NULL,  
    surname text NOT NULL,  
    PRIMARY KEY (forename, surname)
);

INSERT INTO people (forename, surname)
VALUES ('Bob', 'White'),
('Brad', 'Brown'),
('Jill', 'Green');

в sqlite, я вставляю этот файл и проверяю правильность:

sqlite> .read insert.sql
sqlite> SHOW * FROM people;

Это выдает, как следует:

Bob|White
Brad|Brown
Jill|Green

Я редактирую src / App. js, чтобы прочитать следующее:

import React from 'react';
import './App.css';

var knex = require('knex')({
  client: 'sqlite3',
  connection: {
        filename: './test.db'
  },
});

console.log(knex.select().table('people'));

function App() {
  return (
    <div className="App">
      <header className="App-header">
        <p>Just a paragraph</p>
      </header>
    </div>
  );
}

export default App;

Я запускаю npm start и открываю журнал консоли: соответствующая строка гласит:

Builder {client: Client_SQLite3 и: Builder, _single: {…}, _statements: Array (0), _method: "select",…}

Это не то, что я ожидаю, документация говорит мне, что я должен получить "массив объектов, выбранных из г Атабаза "Так Боб, Брэд и Джилл. Я ничего не получаю.

Что я делаю не так? Извиняюсь за длинную преамбулу, но я хотел привести полный минимальный пример.

Я использую Node: v12.6.0 в Ubuntu 18.04.4 LTS.

NB - Первым моим предположением было то, что я Поместил test.db в неправильный каталог. Я буквально пытался поместить его везде без удачи ...

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