Подключение PostgreSQL
Подключение PostgreSQL, если в текущей базе нет данных
Чтобы использовать PostgreSQL в качестве базы данных, необходимо в файл conf.json добавить следующий блок:
"database": {
"account": {
"user": "db-user",
"password": "user-password",
"database": "db-name",
"port": 5432,
"host": "yourhost"
},
"company": {
"master": {
"user": "db-user",
"password": "user-password",
"database": "db-name",
"port": 5432,
"host": "yourhost"
}
},
"userEvents": {
"master": {
"user": "db-user",
"password": "user-password",
"database": "db-name",
"port": 5432,
"host": "yourhost"
}
}
},
user- Имя пользователя PostgreSQL, от имени которого будет происходить подключение.password- Пароль пользователя для подключения к базе данных.database- Название базы данных, к которой должно быть установлено подключение.port- Порт PostgreSQL.host- адрес PostgreSQL.
Подключение PostgreSQL, если в текущей базе уже есть данные (миграция существущей базы в PostgreSQL)
Предварительная подготовка:
- Установить nodejs v20.11
- В нужной директории выполнить и установить дополнительные пакеты:
npm init -y
npm install pg big-json - Если PostgreSQL-пользователь доступен под обычным пользователем,
sudoне требуется. При запуске сsudoвозможны ошибки, если нет соответствующих~/.npmи прав на чтение.
Важно: при использовании управления пользователями через файл необходимо сделать бэкап и директории database, и самого файла users.csv.
Миграция данных
- Остановить коробку
- Перейти в каталог tasks/db
- В каталогах migrate-storage-to-db и migrate-user-events-to-db переименовать и заполнить файл example.conf.json в conf.json
- В migrate-storage-to-db/conf.json параметр storage - это путь до каталога companies (как правило, /opt/yougile/database/companies)
- В migrate-user-events-to-db/conf.json параметр storage - это путь до каталога user-events (как правило, /opt/yougile/database/user-events)
- В каждом каталоге (migrate-storage-to-db и migrate-user-events-to-db) нужно выполнить команду
node index.mjs - Добавить в основной файл conf.json, который лежит в корневом каталоге yougile следующий блок:
"database": {
"account": {
"user": "db-user",
"password": "user-password",
"database": "db-name",
"port": 5432,
"host": "yourhost"
},
"company": {
"master": {
"user": "db-user",
"password": "user-password",
"database": "db-name",
"port": 5432,
"host": "yourhost"
}
},
"userEvents": {
"master": {
"user": "db-user",
"password": "user-password",
"database": "db-name",
"port": 5432,
"host": "yourhost"
}
}
},
user- Имя пользователя PostgreSQL, от имени которого будет происходить подключение.password- Пароль пользователя для подключения к базе данных.database- Название базы данных, к которой должно быть установлено подключение.port- Порт PostgreSQL.host- адрес PostgreSQL.
Примечание: host рекомендуется указывать как "localhost", если база данных находится на том же сервере, где yougile, или же как адрес хоста "yourhost", если база данных находится на другом сервере.