【问题标题】:PSQL: error: relation does not existPSQL:错误:关系不存在
【发布时间】:2017-04-07 08:58:59
【问题描述】:

当我从我的数据库中使用 Express 执行获取请求时,我收到一个错误,我不确定这意味着什么。这是错误的简短形式:

{ 错误:关系“电影”不存在 在 Connection.parseE

这是我的代码(server.js):

var express = require('express');
var bodyParser = require('body-parser');
var knex = require("./db/knex");
var movies = require('./routes/movies.js');
var actors = require('./routes/actors.js');
var roles = require('./routes/roles.js');
var app = express();
var port = process.env.PORT || 8000;

// body parser
app.use(bodyParser.json());

// router
// get all
app.get("/movies", movies.getAllMovies);

app.listen(port, function() {
  console.log("Now listening on port " + port);
});

模块(movies.js):

var knex = require("../db/knex");

// get all
var getAllMovies = function(req, res) {
  knex.raw('SELECT * FROM movies')
  .then(function(movies) {
    res.send(movies.rows);
  }).catch(function(err) {
    console.log(err);
  });
}

module.exports = {
   getAllMovies:getAllMovies,
   getOneMovie:getOneMovie,
   postMovie:postMovie,
   putMovie:putMovie,
   deleteMovie:deleteMovie
 }

如果您能找到错误,请告诉我!

【问题讨论】:

  • 您的数据库中似乎没有名为movies 的表?

标签: javascript node.js postgresql express


【解决方案1】:

我真的想通了。所有变量和表都很好,但是我的 knex 配置文件之一没有连接到正确的数据库。

原文:

module.exports = {
      development: {
          client: 'pg',
          connection: 'postgres://localhost/stores', // ** WRONG **
          migrations: {
              directory: __dirname + '/db/migrations',
            },
          seeds: {
              directory: __dirname + '/db/seeds',
            },
        },
 }

第 4 行应该是:

connection: 'postgres://localhost/movies_and_actors'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-24
    • 1970-01-01
    • 1970-01-01
    • 2015-08-18
    • 2019-10-26
    • 2018-07-13
    • 1970-01-01
    相关资源
    最近更新 更多