1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2026-05-06 21:04:14 +02:00
Files
OpenIntegrations/docs/ru/md/MySQL/Orm/Ensure-table.mdx
T

103 lines
5.3 KiB
Plaintext
Vendored

---
sidebar_position: 6
description: Гарантировать таблицу и другие функции для работы с MySQL в Открытом пакете интеграций - бесплатной open-source библиотеке интеграций для 1С:Предприятие 8, OneScript и CLI
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, MySQL]
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Гарантировать таблицу
Создает новую таблицу в случае отсутствия или обновляет состав колонок существующей таблицы
`Функция ГарантироватьТаблицу(Знач Таблица, Знач СтруктураКолонок, Знач Соединение = "", Знач Tls = "") Экспорт`
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|-|-|-|-|-|
| Таблица | --table | Строка | ✔ | Имя таблицы |
| СтруктураКолонок | --cols | Структура Из КлючИЗначение | ✔ | Структура колонок: Ключ > имя, Значение > Тип данных |
| Соединение | --dbc | Строка, Произвольный | ✖ | Существующее соединение или путь к базе |
| Tls | --tls | Структура Из КлючИЗначение | ✖ | Настройки TLS, если необходимо. См. [`ПолучитьНастройкиTls`](/docs/MySQL/Common-methods/Get-tls-settings) |
Возвращаемое значение: Соответствие Из КлючИЗначение - Результат выполнения запроса
:::tip
В результате изменения структуры таблицы данные могут быть утеряны! Рекомендуется предварительно опробовать данный метод на тестовых данных
Данная функция не обновляет тип данных существующих колонок
:::
<br/>
```bsl title="Пример использования для 1С:Предприятие/OneScript"
Адрес = "127.0.0.1";
Логин = "bayselonarrend";
Пароль = "12we...";
База = "testbase1";
TLS = Истина;
Порт = 3306;
СтрокаПодключения = OPI_MySQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль, Порт);
Если TLS Тогда
НастройкиTLS = OPI_MySQL.ПолучитьНастройкиTLS(Истина);
Иначе
НастройкиTLS = Неопределено;
КонецЕсли;
Таблица = "testtable";
СтруктураКолонок = Новый Структура;
СтруктураКолонок.Вставить("smallint_field" , "SMALLINT");
СтруктураКолонок.Вставить("double_field" , "DOUBLE");
СтруктураКолонок.Вставить("bigint_field" , "BIGINT");
СтруктураКолонок.Вставить("custom_field" , "TEXT");
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
Результат = OPI_MySQL.ГарантироватьТаблицу(Таблица, СтруктураКолонок, СтрокаПодключения, НастройкиTLS);
```
<Tabs>
<TabItem value="bash" label="Bash" default>
```bash
# JSON данные также могут быть переданы как путь к файлу .json
oint mysql ГарантироватьТаблицу \
--table "test_new" \
--cols "{'smallint_field':'SMALLINT','double_field':'DOUBLE','bigint_field':'BIGINT','custom_field':'TEXT'}" \
--dbc "mysql://bayselonarrend:***@127.0.0.1:3306/" \
--tls "{'use_tls':true,'accept_invalid_certs':true}"
```
</TabItem>
<TabItem value="bat" label="CMD/Bat" default>
```batch
:: JSON данные также могут быть переданы как путь к файлу .json
oint mysql ГарантироватьТаблицу ^
--table "test_new" ^
--cols "{'smallint_field':'SMALLINT','double_field':'DOUBLE','bigint_field':'BIGINT','custom_field':'TEXT'}" ^
--dbc "mysql://bayselonarrend:***@127.0.0.1:3306/" ^
--tls "{'use_tls':true,'accept_invalid_certs':true}"
```
</TabItem>
</Tabs>
```json title="Результат"
{
"result": true,
"commit": {
"result": true
}
}
```