Как создать таблицу после первого создания базы данных с Node и pg - PullRequest
0 голосов
/ 30 августа 2018

Я пытаюсь создать приложение узла, которое может настроить себя на конце базы данных, создавая базу данных, затем таблицу и поля после. Ниже приведены две функции, которые я использую для выполнения каждой задачи независимо друг от друга. Могу ли я получить некоторую помощь о том, как объединить их вместе? Должен ли я использовать pg-обещание, а не 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();
});

}

1 Ответ

0 голосов
/ 31 августа 2018

Может быть, следующий код поможет вам. Теперь таблица будет создана в обратном вызове сразу после завершения запроса «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();
    });
});
}
...