Sign in to follow this  
tmaslov22

урок Работаем с PostgreSQL

Recommended Posts


Вступление.
Привет работяги! В этой статье я попробую рассказать как быстро начать работать с PostgreSQL . Чем эта СУБД лучше чем MySQL я не буду писать. Если вам интересно, то можно почитать тут :)

Начинаем кодить!
Для начала ставим такую библиотеку: npm install pg-promise (если вы не знаете что это, то почитайте это)
Устанавливаем и запускаем PostgreSQL, если у вас он еще не стоит.

ОК, если все установилось, то создаем папку lib в корне вашего мода.
У меня это получилось так: D:\winsrv\packages\vrp\lib

В папке lib создаем файл db.js
В этом файле мы подключаемся к нашей БД. Тут думаю все понятно по коду.

const pgp = require('pg-promise')();
const cn = {
    host: 'localhost',
    port: 5432,
    database: 'vrp',
    user: 'postgres',
    password: 'postgres'
};
const db = pgp(cn);
module.exports = db;

Теперь в любом файле где нам нужно работать с БД мы просто пишем:
Если у вас ошибка типа db is not defined, то вы забыли написать это!

const db = require('тут пишем путь до файла db.js'); 
// Пример пути: './../lib/db.js' 

Давайте попробуем загрузить данные о пользователе, если он зайдет к нам на сервер.
Не забываем в начале файла common.js прописать: const db = require('./../lib/db.js');
В файле common.js ищем обработчик события playerJoin :

module.exports =
{
	"playerJoin" : player =>
	{
		// сюда добавляем 
        db.any("select * from users where name=$1", [player.name])
            .then(function (data) {
                console.log("data: %j", data); // выводим данные о пользователе
            })
            .catch(function (error) {
                console.log("ERROR:", error.message || error); // выводим ошибку
            });
    }
}


Вот что у нас получится

 

Полезные ссылки:

Edited by tmaslov22
  • Like 3

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.