Skip to content
Snippets Groups Projects
Commit 40b7cbb9 authored by Dmitry Rodionov's avatar Dmitry Rodionov Committed by Alexander Tolstoy
Browse files

doc: how migrations can use plugin conf to specify tiers

parent ede5d4d0
No related branches found
No related tags found
1 merge request!553doc: how migrations can use plugin conf to specify tiers
Pipeline #54177 passed
......@@ -134,6 +134,38 @@ SQL-команды и в системной таблице [_pico_plugin] уве
`migration_progress`.
-->
#### Использование параметров конфигурации плагина {: #use_plugin_config }
В миграциях можно ссылаться на значения из установленной
конфигурации плагина установленные в пространстве имен migration_context.
Например, установим значение конфигурации `red_tier`:
```sql
ALTER PLUGIN myplugin 0.1.0 SET migration_context.red_tier='my_tier';
```
После этого в теле миграции появляется возможность ссылаться на
установленный параметр:
```sql
CREATE TABLE T (A INT) ON TIER @_plugin_config.red_tier;
```
Основной сценарий использования подобной подстановки параметров —
задание [тиров][tier], на которых будут созданы нужные для работы
плагина таблицы. Для этого в синтаксисе [создания
таблицы](../reference/sql/create_table.md) существует возможность
указать тир. Таким образом, на этапе разработки плагина можно
определить, какие объекты БД нужны для работы плагина, и описать их
создание в файле миграций.
На этапе разработки плагина необходимо определить, сколько тиров
потребуется. Поскольку при этом конкретные имена тиров в кластере еще
неизвестны, то имеет смысл указать имена в конфигурации плагина.
Посредством подстановки имя тира в кластере становится доступным в
миграции.
### Сервис {: #service }
Каждый `.so`-файл может содержать один или несколько сервисов. Сервис
......@@ -262,10 +294,10 @@ proc_service_configure(
Пример таблицы с конфигурацией сервиса:
| plugin\_name | service\_name | key | value |
|:-------------|:--------------|:----------:|:--------------------|
| plugin\_name | service\_name | key | value |
| :----------- | :------------ | :--------: | :---------------------------------------------------------------------------------------------------------------------------------------------------- |
| kafka | consumer | mapping | [ { "topic": "my\_topic", "autocommit": "false", "table": "my\_table" }, { "topic": "my\_topic\_2", "autocommit": "true", "table": "my\_table\_2" } ] |
| kafka | consumer | kafka\_uri | 127.0.0.1:9092 |
| kafka | consumer | kafka\_uri | 127.0.0.1:9092 |
## Жизненный цикл плагина {: #plugin_lifecycle }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment