SHA256
Перевести deploy и PostgreSQL схемы на актуальное состояние
This commit is contained in:
@@ -10,17 +10,23 @@
|
||||
- `solana_sync_state`
|
||||
- `solana_sync_tx_history`
|
||||
- `solana_user_pda_current`
|
||||
- `user_access_servers_current`
|
||||
- `solana_user_pda_history`
|
||||
- источник истины по пользовательским PDA: `solana_user_pda_current`.
|
||||
- `user_access_servers_current` — это вторичная локальная проекция для быстрого роутинга DM по access servers;
|
||||
она автоматически пересобирается из `solana_user_pda_current`, включая backfill для уже существующих пользователей.
|
||||
|
||||
## Что должно быть настроено в `application.properties`
|
||||
|
||||
Для текущих production-значений `shineup.me` и `server2.shineup.me` смотреть `deploy/PRODUCTION_SERVERS.md`.
|
||||
Ниже универсальный пример для нового контура.
|
||||
|
||||
```properties
|
||||
solana.users.sync.enabled=true
|
||||
solana.users.sync.rpcUrl=https://api.devnet.solana.com
|
||||
solana.users.sync.wsUrl=wss://api.devnet.solana.com/
|
||||
solana.users.sync.databaseUrl=jdbc:postgresql://127.0.0.1:5432/shine_server_db
|
||||
solana.users.sync.dbUser=shine_server
|
||||
solana.users.sync.rpcUrl=https://devnet.helius-rpc.com/?api-key=0614c894-52d8-4ddc-bbbc-0947ce5ec3a4
|
||||
solana.users.sync.wsUrl=wss://devnet.helius-rpc.com/?api-key=0614c894-52d8-4ddc-bbbc-0947ce5ec3a4
|
||||
solana.users.sync.databaseUrl=jdbc:postgresql://127.0.0.1:5432/<APP_DB>
|
||||
solana.users.sync.dbUser=<APP_DB_USER>
|
||||
solana.users.sync.dbPassword=CHANGE_ME
|
||||
solana.users.sync.pollIntervalSeconds=300
|
||||
```
|
||||
@@ -43,16 +49,17 @@ SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql
|
||||
|
||||
```bash
|
||||
psql \
|
||||
"postgresql://shine_server:CHANGE_ME@127.0.0.1:5432/shine_server_db" \
|
||||
"postgresql://<APP_DB_USER>:CHANGE_ME@127.0.0.1:5432/<APP_DB>" \
|
||||
-f SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql
|
||||
```
|
||||
|
||||
Скрипт:
|
||||
|
||||
- создаёт таблицу версии схемы `db_schema_version`;
|
||||
- ставит `schema_version = 1`;
|
||||
- ставит `schema_version = 2`;
|
||||
- создаёт таблицы sync-модуля Solana users;
|
||||
- создаёт server runtime tables;
|
||||
- создаёт триггеры и функции автоматической актуализации `user_access_servers_current`;
|
||||
- не создаёт удалённые legacy-таблицы старого runtime для пользователей и DM;
|
||||
- использует `signed_messages` как единственную таблицу серверных DM.
|
||||
|
||||
@@ -75,6 +82,9 @@ cd /home/player/SHiNE/postgres
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
Шаблон `deploy/postgres/docker-compose.yml.example` рассчитан на `postgres:18`.
|
||||
Для `postgres:18+` он монтирует host-каталог в `/var/lib/postgresql`, это важно для корректного старта контейнера.
|
||||
|
||||
После старта контейнера:
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user