Skip to content

Commit 9392987

Browse files
author
Anna Mikhaylova
committed
[DOP-29362] translate syncmaster/reference/database en-ru
1 parent 8ddd7ab commit 9392987

File tree

4 files changed

+158
-53
lines changed

4 files changed

+158
-53
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
# Database settings { #configuration-database }
1+
# Настройки базы данных { #configuration-database }
22

33
::: syncmaster.settings.DatabaseSettings
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
# Credentials encryption { #configuration-credentials-encryption }
1+
# Шифрование учетных данных { #configuration-credentials-encryption }
22

33
::: syncmaster.settings.credentials.CredentialsEncryptionSettings

mddocs/docs/ru/reference/database/index.md

Lines changed: 50 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,44 @@
1-
# Relation Database { #database }
1+
# Реляционная база данных { #database }
22

3-
SyncMaster requires relational database for storing internal data.
3+
Для хранения внутренних данных SyncMaster требуется реляционная база данных .
44

5-
Currently, SyncMaster supports only [PostgreSQL](https://www.postgresql.org/).
5+
В настоящее время SyncMaster поддерживает только [PostgreSQL](https://www.postgresql.org/).
66

7-
## Migrations
7+
## Миграции
88

9-
After a database is started, it is required to run migration script.
10-
For empty database, it creates all the required tables and indexes.
11-
For non-empty database, it will perform database structure upgrade, using [Alembic](https://alembic.sqlalchemy.org/).
9+
После создания базы данных необходимо выполнить скрипт миграции.
10+
Для пустой базы данных он создает все необходимые таблицы и индексы.
11+
Для непустой базы данных он выполнит обновление структуры базы данных, используя [Alembic](https://alembic.sqlalchemy.org/).
1212

13-
### WARNING
13+
### ПРЕДУПРЕЖДЕНИЕ
1414

15-
Other containers (server, scheduler, worker) should be stopped while running migrations, to prevent interference.
15+
Другие контейнеры (server, scheduler, worker) должны быть остановлены во время выполнения миграций, чтобы предотвратить вмешательство.
1616

17-
## Requirements
17+
## Требования
1818

19-
- PostgreSQL 12 or higher. It is recommended to use latest Postgres version.
19+
- PostgreSQL 12 или выше. Рекомендуется использовать последнюю версию Postgres.
2020

21-
## Install & run
21+
## Установка и запуск
2222

23-
### With Docker
23+
### С Docker
2424

25-
- Install [Docker](https://docs.docker.com/engine/install/)
25+
- Установите [Docker](https://docs.docker.com/engine/install/)
2626

27-
- Install [docker-compose](https://github.com/docker/compose/releases/)
27+
- Установите [docker-compose](https://github.com/docker/compose/releases/)
2828

29-
- Run the following command:
29+
- Выполните следующую команду:
3030

3131
```console
3232
$ docker compose up -d db db-migrations
3333
...
3434
```
3535

36-
`docker-compose` will download PostgreSQL image, create container and volume, and then start container.
37-
Image entrypoint will create database if volume is empty.
36+
`docker-compose` загрузит образ PostgreSQL, создаст контейнер и том, а затем запустит контейнер.
37+
Точка входа образа создаст базу данных, если том пуст.
3838

39-
After that, one-off container with migrations script will run.
39+
После этого будет запущен одноразовый контейнер со скриптом миграций.
4040

41-
Options can be set via `.env` file or `environment` section in `docker-compose.yml`
41+
Параметры можно установить через файл `.env` или раздел `environment` в `docker-compose.yml`
4242

4343
### `docker-compose.yml`
4444

@@ -99,12 +99,12 @@ Other containers (server, scheduler, worker) should be stopped while running mig
9999
ports:
100100
- 8000:8000
101101
environment:
102-
# list here usernames which should be assigned SUPERUSER role on application start
102+
# список имен пользователей, которым должна быть назначена роль SUPERUSER при запуске приложения
103103
SYNCMASTER__ENTRYPOINT__SUPERUSERS: admin
104-
# PROMETHEUS_MULTIPROC_DIR is required for multiple workers, see:
104+
# PROMETHEUS_MULTIPROC_DIR требуется для нескольких рабочих процессов, см.:
105105
# https://prometheus.github.io/client_python/multiprocess/
106106
PROMETHEUS_MULTIPROC_DIR: /tmp/prometheus-metrics
107-
# tmpfs dir is cleaned up each container restart
107+
# каталог tmpfs очищается при каждом перезапуске контейнера
108108
tmpfs:
109109
- /tmp/prometheus-metrics:mode=1777
110110
env_file: .env.docker
@@ -183,26 +183,26 @@ Other containers (server, scheduler, worker) should be stopped while running mig
183183
TZ=UTC
184184
ENV=LOCAL
185185
186-
# Logging options
186+
# Параметры логирования
187187
SYNCMASTER__LOGGING__SETUP=True
188188
SYNCMASTER__LOGGING__PRESET=colored
189189
190-
# Common DB options
190+
# Общие параметры БД
191191
SYNCMASTER__DATABASE__URL=postgresql+asyncpg://syncmaster:changeme@db:5432/syncmaster
192192
193-
# Encrypt / Decrypt credentials data using this Fernet key.
194-
# !!! GENERATE YOUR OWN COPY FOR PRODUCTION USAGE !!!
193+
# Шифрование/дешифрование данных учетных записей с использованием этого ключа Fernet.
194+
# !!! СГЕНЕРИРУЙТЕ СВОЮ СОБСТВЕННУЮ КОПИЮ ДЛЯ ИСПОЛЬЗОВАНИЯ В ПРОДАКШЕНЕ !!!
195195
SYNCMASTER__ENCRYPTION__SECRET_KEY=UBgPTioFrtH2unlC4XFDiGf5sYfzbdSf_VgiUSaQc94=
196196
197-
# Common RabbitMQ options
197+
# Общие параметры RabbitMQ
198198
SYNCMASTER__BROKER__URL=amqp://guest:guest@rabbitmq:5672
199199
200-
# Server options
200+
# Параметры сервера
201201
SYNCMASTER__SERVER__SESSION__SECRET_KEY=generate_some_random_string
202-
# !!! NEVER USE ON PRODUCTION !!!
202+
# !!! НИКОГДА НЕ ИСПОЛЬЗУЙТЕ В ПРОДАКШЕНЕ !!!
203203
SYNCMASTER__SERVER__DEBUG=true
204204
205-
# Keycloak Auth
205+
# Аутентификация Keycloak
206206
#SYNCMASTER__AUTH__PROVIDER=syncmaster.server.providers.auth.keycloak_provider.KeycloakAuthProvider
207207
SYNCMASTER__AUTH__KEYCLOAK__SERVER_URL=http://keycloak:8080
208208
SYNCMASTER__AUTH__KEYCLOAK__REALM_NAME=manually_created
@@ -212,14 +212,14 @@ Other containers (server, scheduler, worker) should be stopped while running mig
212212
SYNCMASTER__AUTH__KEYCLOAK__SCOPE=email
213213
SYNCMASTER__AUTH__KEYCLOAK__VERIFY_SSL=False
214214
215-
# Dummy Auth
215+
# Фиктивная аутентификация
216216
SYNCMASTER__AUTH__PROVIDER=syncmaster.server.providers.auth.dummy_provider.DummyAuthProvider
217217
SYNCMASTER__AUTH__ACCESS_TOKEN__SECRET_KEY=generate_another_random_string
218218
219-
# Scheduler options
219+
# Параметры планировщика
220220
SYNCMASTER__SCHEDULER__TRANSFER_FETCHING_TIMEOUT_SECONDS=200
221221
222-
# Worker options
222+
# Параметры рабочего процесса
223223
SYNCMASTER__WORKER__LOG_URL_TEMPLATE=https://logs.location.example.com/syncmaster-worker?correlation_id=\{\{ correlation_id \}\}&run_id=\{\{ run.id \}\}
224224
SYNCMASTER__HWM_STORE__ENABLED=true
225225
SYNCMASTER__HWM_STORE__TYPE=horizon
@@ -228,7 +228,7 @@ Other containers (server, scheduler, worker) should be stopped while running mig
228228
SYNCMASTER__HWM_STORE__USER=admin
229229
SYNCMASTER__HWM_STORE__PASSWORD=123UsedForTestOnly@!
230230
231-
# Frontend options
231+
# Параметры фронтенда
232232
SYNCMASTER__UI__API_BROWSER_URL=http://localhost:8000
233233
234234
# Cors
@@ -240,55 +240,55 @@ Other containers (server, scheduler, worker) should be stopped while running mig
240240
SYNCMASTER__SERVER__CORS__EXPOSE_HEADERS=["X-Request-ID","Location","Access-Control-Allow-Credentials"]
241241
```
242242

243-
### Without Docker
243+
### Без Docker
244244

245-
- For installing PostgreSQL, please follow [installation instruction](https://www.postgresql.org/download/).
245+
- Для установки PostgreSQL следуйте [инструкции по установке](https://www.postgresql.org/download/).
246246

247-
- Install Python 3.11 or above
247+
- Установите Python 3.11 или выше
248248

249-
- Create virtual environment
249+
- Создайте виртуальное окружение
250250

251251
```console
252252
$ python -m venv /some/.venv
253253
$ source /some/.venv/activate
254254
...
255255
```
256256

257-
- Install `syncmaster` package with following *extra* dependencies:
257+
- Установите пакет `syncmaster` со следующими *дополнительными* зависимостями:
258258

259259
```console
260260
$ pip install syncmaster[postgres]
261261
...
262262
```
263263

264-
- Configure [Database connection][configuration-database] using environment variables, e.g. by creating `.env` file:
264+
- Настройте [подключение к базе данных][configuration-database] с помощью переменных среды, например, создав файл `.env`:
265265

266266
```console
267267
$ export SYNCMASTER__DATABASE__URL=postgresql+asyncpg://syncmaster:changeme@db:5432/syncmaster
268268
...
269269
```
270270

271-
And then read values from this file:
271+
А затем прочитайте значения из этого файла:
272272

273273
```console
274274
$ source /some/.env
275275
...
276276
```
277277

278-
- Run migrations:
278+
- Запустите миграции:
279279

280280
```console
281281
$ python -m syncmaster.db.migrations upgrade head
282282
...
283283
```
284284

285-
This is a thin wrapper around [alembic cli](https://alembic.sqlalchemy.org/en/latest/tutorial.html#running-our-first-migration),
286-
options and commands are just the same.
285+
Это тонкая оболочка вокруг [alembic cli](https://alembic.sqlalchemy.org/en/latest/tutorial.html#running-our-first-migration),
286+
опции и команды точно такие же.
287287

288-
> **This command should be executed after each upgrade to new Data.Rentgen version.**
288+
> **Эта команда должна выполняться после каждого обновления до новой версии Data.Rentgen.**
289289
290-
## See also
290+
## Смотрите также
291291

292-
- [Database settings][configuration-database]
293-
- [Credentials encryption][configuration-credentials-encryption]
294-
- [Database structure][database-structure]
292+
- [Настройки базы данных][configuration-database]
293+
- [Шифрование учетных данных][configuration-credentials-encryption]
294+
- [Структура базы данных][database-structure]

mddocs/docs/ru/reference/database/structure.md

Lines changed: 106 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Database structure { #database-structure }
1+
# Структура базы данных { #database-structure }
22

33
% https://plantuml.com/en/ie-diagram
44

@@ -121,3 +121,108 @@
121121
122122
@enduml
123123
```
124+
125+
```mermaid
126+
---
127+
title: Database structure
128+
---
129+
erDiagram
130+
direction LR
131+
User_Group {
132+
bigint user_id PK
133+
bigint group_id PK
134+
varchar(255) role_id
135+
}
136+
137+
User {
138+
bigint id PK
139+
varchar(256) username
140+
varchar(256) email null
141+
varchar(256) first_name null
142+
varchar(256) last_name null
143+
varchar(256) middle_name null
144+
boolean is_superuser
145+
boolean is_active
146+
timestamp created_at
147+
timestamp updated_at
148+
}
149+
150+
Group {
151+
bigint id PK
152+
varchar(256) name
153+
varchar(512) description
154+
bigint owner_id
155+
timestamptz created_at
156+
timestamptz updated_at
157+
tsquery search_vector
158+
}
159+
160+
Queue {
161+
bigint id PK
162+
varchar(128) name
163+
varchar(256) slug
164+
bigint group_id
165+
varchar(512) description
166+
timestamptz created_at
167+
timestamptz updated_at
168+
}
169+
170+
Connection {
171+
bigint id PK
172+
bigint group_id
173+
varchar(32) type
174+
varchar(123) name
175+
varchar(512) description
176+
json data
177+
timestamptz created_at
178+
timestamptz updated_at
179+
tsquery search_vector
180+
}
181+
182+
Auth_data {
183+
bigint connection_id PK
184+
text value
185+
timestamptz created_at
186+
timestamptz updated_at
187+
}
188+
189+
Transfer {
190+
bigint id PK
191+
bigint group_id
192+
varchar(128) name
193+
bigint source_connection_id
194+
bigint target_connection_id
195+
json strategy_params
196+
json target_params
197+
json transformations
198+
json resources
199+
boolean is_scheduled
200+
varchar(32) schedule
201+
bigint queue_id
202+
timestamptz created_at
203+
timestamptz updated_at
204+
}
205+
206+
Run {
207+
bigint id PK
208+
transfer_id bigint
209+
timestamptz started_at
210+
timestamptz ended_at
211+
varchar(255) status
212+
varchar(64) type_run
213+
json transfer_dump
214+
timestamptz created_at
215+
timestamptz updated_at
216+
}
217+
218+
User_Group ||--o{ User: contains
219+
User_Group ||--o{ Group: contains
220+
Group ||--o{ User: contains
221+
Queue ||--o{ Group: contains
222+
Connection ||--o{ Group: contains
223+
Auth_data ||--o{ Connection: contains
224+
Transfer ||--o{ Queue: contains
225+
Transfer ||--o{ Connection: contains
226+
Transfer ||--o{ Group: contains
227+
Run ||--o{ Transfer: contains
228+
```

0 commit comments

Comments
 (0)