Перейти к основному содержимому

Гарантировать таблицу

Создает новую таблицу в случае отсутствия или обновляет состав колонок существующей таблицы

Функция ГарантироватьТаблицу(Знач Таблица, Знач СтруктураКолонок, Знач Соединение = "", Знач Tls = "") Экспорт

ПараметрCLI опцияТипОбяз.Назначение
Таблица--tableСтрокаИмя таблицы
СтруктураКолонок--colsСтруктура Из КлючИЗначениеСтруктура колонок: Ключ > имя, Значение > Тип данных
Соединение--dbcСтрока, ПроизвольныйСуществующее соединение или путь к базе
Tls--tlsСтруктура Из КлючИЗначениеНастройки TLS, если необходимо. См. ПолучитьНастройкиTls

Возвращаемое значение: Соответствие Из КлючИЗначение - Результат выполнения запроса


подсказка

В результате изменения структуры таблицы данные могут быть утеряны! Рекомендуется предварительно опробовать данный метод на тестовых данных

Данная функция не обновляет тип данных существующих колонок


Пример использования для 1С:Предприятие/OneScript
    Адрес  = "127.0.0.1";
Логин = "bayselonarrend";
Пароль = "12we...";

База = "testbase1";
Таблица = "testtable";

СтрокаПодключения = OPI_MySQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);

СтруктураКолонок = Новый Структура;
СтруктураКолонок.Вставить("smallint_field" , "SMALLINT");
СтруктураКолонок.Вставить("double_field" , "DOUBLE");
СтруктураКолонок.Вставить("bigint_field" , "BIGINT");
СтруктураКолонок.Вставить("custom_field" , "TEXT");

// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
Результат = OPI_MySQL.ГарантироватьТаблицу(Таблица, СтруктураКолонок, СтрокаПодключения);
    # JSON данные также могут быть переданы как путь к файлу .json

oint mysql ГарантироватьТаблицу \
--table "testtable" \
--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}"
Результат
{
"result": true,
"commit": {
"result": true
}
}