You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-11-25 22:12:29 +02:00
68 lines
2.0 KiB
Plaintext
Vendored
68 lines
2.0 KiB
Plaintext
Vendored
---
|
|
sidebar_position: 6
|
|
description: Ensure table and other functions to work with MySQL in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI
|
|
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, MySQL]
|
|
---
|
|
|
|
import Tabs from '@theme/Tabs';
|
|
import TabItem from '@theme/TabItem';
|
|
|
|
# Ensure table
|
|
Creates a new table if it does not exist or updates the composition of columns in an existing table
|
|
|
|
|
|
|
|
`Function EnsureTable(Val Table, Val ColoumnsStruct, Val Connection = "", Val Tls = "") Export`
|
|
|
|
| Parameter | CLI option | Type | Required | Description |
|
|
|-|-|-|-|-|
|
|
| Table | --table | String | ✔ | Table name |
|
|
| ColoumnsStruct | --cols | Structure Of KeyAndValue | ✔ | Column structure: Key > Name, Value > Data type |
|
|
| Connection | --dbc | String, Arbitrary | ✖ | Existing connection or database path |
|
|
| Tls | --tls | Structure Of KeyAndValue | ✖ | TLS settings, if necessary. See GetTlsSettings |
|
|
|
|
|
|
Returns: Map Of KeyAndValue - Result of query execution
|
|
|
|
<br/>
|
|
|
|
:::tip
|
|
As a result of changing the table structure, data may be lost! It is recommended to test this method on test data beforehand
|
|
|
|
This function does not update the data type of existing columns
|
|
:::
|
|
<br/>
|
|
|
|
|
|
|
|
```bsl title="1C:Enterprise/OneScript code example"
|
|
Address = "127.0.0.1";
|
|
Login = "bayselonarrend";
|
|
Password = "12we...";
|
|
|
|
Base = "testbase1";
|
|
Table = "testtable";
|
|
|
|
ConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
|
|
|
ColoumnsStruct = New Structure;
|
|
ColoumnsStruct.Insert("smallint_field" , "SMALLINT");
|
|
ColoumnsStruct.Insert("double_field" , "DOUBLE");
|
|
ColoumnsStruct.Insert("bigint_field" , "BIGINT");
|
|
ColoumnsStruct.Insert("custom_field" , "TEXT");
|
|
|
|
Result = OPI_MySQL.EnsureTable(Table, ColoumnsStruct, ConnectionString);
|
|
```
|
|
|
|
|
|
|
|
|
|
```json title="Result"
|
|
{
|
|
"result": true,
|
|
"commit": {
|
|
"result": true
|
|
}
|
|
}
|
|
```
|