You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-11-25 22:12:29 +02:00
109 lines
4.9 KiB
Plaintext
Vendored
109 lines
4.9 KiB
Plaintext
Vendored
---
|
|
sidebar_position: 3
|
|
description: Create 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';
|
|
|
|
# Create table
|
|
Creates an empty table in the database
|
|
|
|
|
|
|
|
`Function CreateTable(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 | ✖ | Connection or connection string |
|
|
| Tls | --tls | Structure Of KeyAndValue | ✖ | TLS settings, if necessary. See GetTlsSettings |
|
|
|
|
|
|
Returns: Map Of KeyAndValue - Result of query execution
|
|
|
|
<br/>
|
|
|
|
:::tip
|
|
The list of available types is described on the initial page of the MySQL library documentation
|
|
:::
|
|
<br/>
|
|
|
|
|
|
|
|
```bsl title="1C:Enterprise/OneScript code example"
|
|
Address = "127.0.0.1";
|
|
Login = "bayselonarrend";
|
|
Password = "12we...";
|
|
Base = "testbase1";
|
|
|
|
ConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
|
|
|
Table = "testtable";
|
|
|
|
ColoumnsStruct = New Structure;
|
|
ColoumnsStruct.Insert("char_field" , "CHAR(5)");
|
|
ColoumnsStruct.Insert("varchar_field" , "VARCHAR(255)");
|
|
ColoumnsStruct.Insert("tinytext_field" , "TINYTEXT");
|
|
ColoumnsStruct.Insert("text_field" , "TEXT");
|
|
ColoumnsStruct.Insert("mediumtext_field", "MEDIUMTEXT");
|
|
ColoumnsStruct.Insert("longtext_field" , "LONGTEXT");
|
|
ColoumnsStruct.Insert("tinyint_field" , "TINYINT");
|
|
ColoumnsStruct.Insert("smallint_field" , "SMALLINT");
|
|
ColoumnsStruct.Insert("mediumint_field" , "MEDIUMINT");
|
|
ColoumnsStruct.Insert("int_field" , "INT");
|
|
ColoumnsStruct.Insert("uint_field" , "INT UNSIGNED");
|
|
ColoumnsStruct.Insert("bigint_field" , "BIGINT");
|
|
ColoumnsStruct.Insert("float_field" , "FLOAT");
|
|
ColoumnsStruct.Insert("double_field" , "DOUBLE");
|
|
ColoumnsStruct.Insert("date_field" , "DATE");
|
|
ColoumnsStruct.Insert("time_field" , "TIME");
|
|
ColoumnsStruct.Insert("datetime_field" , "DATETIME");
|
|
ColoumnsStruct.Insert("timestamp_field" , "TIMESTAMP");
|
|
ColoumnsStruct.Insert("mediumblob_field", "MEDIUMBLOB");
|
|
ColoumnsStruct.Insert("set_field" , "SET('one','two','three')");
|
|
|
|
// When using the connection string, a new connection is initialised,
|
|
// which will be closed after the function is executed.
|
|
// If several operations are performed, it is desirable to use one connection,
|
|
// previously created by the CreateConnection function()
|
|
Result = OPI_MySQL.CreateTable(Table, ColoumnsStruct, ConnectionString);
|
|
```
|
|
|
|
|
|
<Tabs>
|
|
|
|
<TabItem value="bash" label="Bash" default>
|
|
```bash
|
|
# JSON data can also be passed as a path to a .json file
|
|
|
|
oint mysql CreateTable \
|
|
--table "testtable" \
|
|
--cols "{'char_field':'CHAR(5)','varchar_field':'VARCHAR(255)','tinytext_field':'TINYTEXT','text_field':'TEXT','mediumtext_field':'MEDIUMTEXT','longtext_field':'LONGTEXT','tinyint_field':'TINYINT','smallint_field':'SMALLINT','mediumint_field':'MEDIUMINT','int_field':'INT','uint_field':'INT UNSIGNED','bigint_field':'BIGINT','float_field':'FLOAT','double_field':'DOUBLE','date_field':'DATE','time_field':'TIME','datetime_field':'DATETIME','timestamp_field':'TIMESTAMP','mediumblob_field':'MEDIUMBLOB','set_field':'SET(\u0027one\u0027,\u0027two\u0027,\u0027three\u0027)'}" \
|
|
--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 data can also be passed as a path to a .json file
|
|
|
|
oint mysql CreateTable ^
|
|
--table "testtable" ^
|
|
--cols "{'char_field':'CHAR(5)','varchar_field':'VARCHAR(255)','tinytext_field':'TINYTEXT','text_field':'TEXT','mediumtext_field':'MEDIUMTEXT','longtext_field':'LONGTEXT','tinyint_field':'TINYINT','smallint_field':'SMALLINT','mediumint_field':'MEDIUMINT','int_field':'INT','uint_field':'INT UNSIGNED','bigint_field':'BIGINT','float_field':'FLOAT','double_field':'DOUBLE','date_field':'DATE','time_field':'TIME','datetime_field':'DATETIME','timestamp_field':'TIMESTAMP','mediumblob_field':'MEDIUMBLOB','set_field':'SET(\u0027one\u0027,\u0027two\u0027,\u0027three\u0027)'}" ^
|
|
--dbc "mysql://bayselonarrend:***@127.0.0.1:3306/" ^
|
|
--tls "{'use_tls':true,'accept_invalid_certs':true}"
|
|
```
|
|
</TabItem>
|
|
</Tabs>
|
|
|
|
|
|
```json title="Result"
|
|
{
|
|
"result": true
|
|
}
|
|
```
|