Sign in to follow this  
Followers 0
tmaslov22

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

3 posts in this topic

Posted (edited)


Вступление.
Привет работяги! В этой статье я попробую рассказать как быстро начать работать с 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
3 people like this

Share this post


Link to post
Share on other sites

Прикольно =) Типа Mysql только в файле) 

Share this post


Link to post
Share on other sites

Хороший урок! Спасибо)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.