我正在尝试创建一个节点应用程序,它可以通过创建数据库然后创建表和字段来在数据库端自行设置。下面是我用来独立完成每项任务的两个函数。我能否获得有关如何将这些组合在一起的帮助?我应该使用 pg-promise 而不是 pg 吗?
function createDatabase(){
const pool = new pg.Pool({
user: 'postgres',
host: '127.0.0.1',
database: 'postgres',
password: 'postgres',
port: '5432'}
);
pool.query("CREATE DATABASE myApp;",
(err, res) => {
console.log(err, res);
pool.end();
});
}
function createTable(){
const pool = new pg.Pool({
user: 'postgres',
host: '127.0.0.1',
database: 'myApp',
password: 'postgres',
port: '5432'}
);
pool.query("CREATE TABLE session(sessionguid UUID NOT NULL, created
text NOT NULL, sessionlife integer NOT NULL)",
(err, res) => {
console.log(err, res);
pool.end();
});
}
Run Code Online (Sandbox Code Playgroud) 我对这个话题很陌生。我想了解更多有关何时使用渲染和重定向的信息。目标是在用户单击按钮或登录后将其引导到另一个页面。此新页面需要数据,因此我在render命令期间传递此数据。除页面URL不能代表他们当前正在查看的正确页面外,此方法工作正常。在这种情况下,我想知道是否应该进行重定向。下面是我的代码。 这是我的server.js页面的代码片段
// route for user Login
app.route('/login')
.get(sessionChecker, (req, res) => {
res.render('login');
})
.post((req, res) => {
var username = req.body.username,
password = req.body.password;
User.findOne({ where: { username: username } }).then(function (user) {
if (!user) {
res.render('login');;
} else if (!user.validPassword(password)) {
res.render('login');;
} else {
req.session.user = user.dataValues;
res.render('dashboard',{
"token" : createToken(req),
"user" : req.session.user
});
}
});
});
Run Code Online (Sandbox Code Playgroud)
这是我的.ejs页面中的一小段代码
<% if( typeof user !== "undefined") { %>
<li><a href="/dashboard">Dashboard</a></li>
<li><a href="/reports">My Reports</a></li>
<li class="dropdown">
<a href="#" …
Run Code Online (Sandbox Code Playgroud)