首次使用 Node 和 pg 创建数据库后如何创建表

use*_*981 6 postgresql node.js pg

我正在尝试创建一个节点应用程序,它可以通过创建数据库然后创建表和字段来在数据库端自行设置。下面是我用来独立完成每项任务的两个函数。我能否获得有关如何将这些组合在一起的帮助?我应该使用 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)

小智 1

也许下面的代码会对你有所帮助。现在,“CREATE DATABASE”查询完成后,将立即在回调中创建该表。

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.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)