未处理的拒绝错误:关系'dbname'不存在

时间:2019-05-14 18:47:53

标签: node.js reactjs postgresql express knex.js

我有一个通过Postgresql创建的数据库。我正在尝试通过Knex.js连接到数据库。

在我的文本编辑器(原子)中,我需要使用knex

const knex = require('knex');

第二个-我已经开始像这样初始化库了:

const postgres = knex ({ client: 'pg', connection: { host: '127.0.0.1', port: '5432', user: 'is myself', password: '', database: 'mediumrare_database' } });

第三-我试图像这样从数据库中提取数据:

postgres.select('*').from('mediumrare_database).then(data => {console.log(data)});

最后,我收到的错误消息如下:

Unhandled rejection error: relation "mediumrare_database" does not exist

1 个答案:

答案 0 :(得分:0)

您的数据库名为mediumrare_database,而您试图从中获取数据的表也以相同的方式命名。

所以看来问题是您没有创建任何表。

在SQL中,您的Knex命令为: SELECT * FROM mediumrare_database;,即Return all the datas inside the 'mediumrare_database' table

您首先需要使用CREATE指令创建数据库结构(用于存储数据的表)。参见https://knexjs.org/#Schema-createTable

FROM用于表,因为您已经在连接字符串中指定了要连接的数据库。

我只能建议您在使用Knex(SQL查询生成器)之前学习SQL的基础知识。如果您不了解底层系统和语言,则会遇到很多问题,因为Knex不会教您:)

您可以检查the one of CodeCademy,他们总是有很好的资源。

EDIT :因此,您创建了一个vinyl_information表(OP上的注释)。您的Knex命令应为:

postgres
  .select('*')
  .from('vinyl_information')
  .then(data => console.log(data))

我有一个Discord服务器,我们可以互相帮助,如果您需要有关该主题的进一步帮助,请随时加入它:) https://discord.gg/C2bVzgb