Сообщение об ошибке Sqlite3 отображается в приложении Postgresql - PullRequest
0 голосов
/ 22 октября 2018

Я учусь создавать приложение, используя node express и knexjs для подключения к базе данных Postgresql.Когда я делаю почтовый запрос, появляется это предупреждение.Данные, которые я пытаюсь опубликовать, отсутствуют в базе данных.Может быть, приложение считало, что я использую sqlite3?

sqlite не поддерживает вставку значений по умолчанию.Установите флаг useNullAsDefault, чтобы скрыть это предупреждение.(см. документы http://knexjs.org/#Builder-insert).

Это мой server.js.

const express = require('express');
const app = express();
const path = require('path');
const knex = require('knex');
const bodyParser = require('body-parser');

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
  extended: true
}));

const database = knex({
  client: 'pg',
  connection: {
    host : '127.0.0.1',
    user : 'xxxxxxx',
    password : 'xxxxxxx',
    database : 'xxxxxxxxdb'
  }
});

app.use(express.static(__dirname + '/../public/'));

app.get('/add_athlete', function(req, res) {
  res.sendFile('add_athlete.html', {root: path.resolve(__dirname + '/../public/templates')});
});

app.post('/add_athlete', function(req, res) {
  knex('participants').insert({
    participant_number: 1,
    email: "test@gmail.com",
    first_name: "test",
    last_name: "again"
  })
  .then (function () {
    res.json({success: true, message: "ok"})
  })
});

app.listen(3000);
console.log('Running at port 3000');

1 Ответ

0 голосов
/ 22 октября 2018

Просто чтобы убедиться, что на этот вопрос есть ответ.

Как уже упоминалось в комментариях, вы, вероятно, хотите использовать созданный экземпляр базы данных.

Так что вместо knex('participants').insert... вы, вероятно,хочу использовать database('participants').insert...

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