【发布时间】:2022-01-11 08:16:45
【问题描述】:
我试图建立一个简单的网站,但是当尝试插入我的 Heroku 数据库时,它说我的关系(表)不存在但实际上存在!!..我通过 Heroku 提供的 database_url 连接,当我连接时通过我的命令行并插入新行,它们被添加,我可以看到它们的表和数据,但是当我每次在表单中点击首脑会议时尝试插入数据时,就会弹出错误,就像没有具有该名称的表一样..
const express = require('express');
app = express();
require('dotenv').config()
var sslRedirect = require("heroku-ssl-redirect").default;
var compression = require('compression');
const { Client } = require('pg');
const client = new Client({
connectionString: process.env.DATABASE_URL,
})
//MIDDLEWARE
app.set("port",process.env.PORT || 3000);
app.set("view engine", "ejs");
app.use(sslRedirect());
app.disable('x-powered-by');
app.use(compression());
app.use(express.static("public"));
app.use(express.json());
app.use(
express.urlencoded({
extended:false
})
);
app.use
const errorController = require('./controllers/errorController');
//const middleware = require('./controllers/middleware')
//ROUTES
app.get('/',(req,res,next) => {
res.render('test')
});
app.post('/thanks', async (req, res) => {
data = {
name : req.body.name,
email : req.body.email,
service: req.body.service,
message: req.body.message};
const text ='INSERT INTO customers(name,email,service,message) VALUES($1, 2$, 3$, 4$) RETURNING *;'
const values = [data.name, data.email, data.service, data.message];
client.connect()
try {
const res = await client.query(`INSERT INTO customers (name,email,service,message) VALUES(${data.name},${data.email},${data.service},${data.message}) RETURNING *;`);
console.log(res.row[1])
client.end()
}catch (err) {
console.log(err.stack)
client.end()
}
res.render('thanks')
})
app.get('/contact',(req,res) => {
res.render('contact')
})
app.get("/services" , (req,res) => {
res.render('services')
})
app.get("/about" , (req,res) => {
res.render("about")
})
app.get('/maysspabeauty.com/contact/*' , (req , res) => {
res.render('contact')
})
app.use(errorController.pageNotFoundError);
app.use(errorController.internalServerError)
app.listen(app.get("port"), () => {
console.log(`server running at http://localhost:${app.get("port")}`);
});
这里是错误截图error image
【问题讨论】:
-
请在问题中发布您的代码,而不是指向它的绘画的链接。
-
您确定您的代码与您连接到正确(相同)的数据库吗?
-
是的,我通过 Heroku 提供的 database_url 连接了,当我在命令行中使用 Heroku 配置时,我可以验证 url 与我通过他们的站点访问数据库并查看配置变量,感谢您的回答
-
您在什么架构中创建了
customers?是否在search_path上用于客户端连接? -
我使用的架构是 Postgres 为您创建的架构!公共架构,我相信我的 search_path 将是我的 database_url?他们提供给我
标签: node.js postgresql