You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-11-25 22:12:29 +02:00
Main build (Jenkins)
This commit is contained in:
62
.github/workflows/oint_test_full_ru.yml
vendored
62
.github/workflows/oint_test_full_ru.yml
vendored
@@ -420,6 +420,48 @@ jobs:
|
||||
path: ./docs/ru/results/PostgreSQL
|
||||
|
||||
|
||||
Testing-MySQL:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [Decode, Build]
|
||||
steps:
|
||||
|
||||
- uses: actions/checkout@v2
|
||||
- uses: otymko/setup-onescript@v1.4
|
||||
with:
|
||||
version: 1.9.1
|
||||
|
||||
- name: Получить тестовые данные из кэша
|
||||
uses: actions/cache/restore@v3
|
||||
with:
|
||||
key: test-data
|
||||
path: ./data.json
|
||||
|
||||
- name: Установить asserts и 1testrunner
|
||||
run: |
|
||||
opm install asserts
|
||||
opm install 1testrunner
|
||||
|
||||
- name: Установить OInt
|
||||
run: |
|
||||
TEMP_DEB="$(mktemp)" &&
|
||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.21.0/oint_1.21.0_all_ru.deb' &&
|
||||
sudo dpkg -i "$TEMP_DEB"
|
||||
rm -f "$TEMP_DEB"
|
||||
|
||||
|
||||
|
||||
- name: Основные методы
|
||||
if: ${{ cancelled() }} == false
|
||||
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os "CLI_MYS_ОсновныеМетоды"
|
||||
|
||||
- name: Записать логи
|
||||
if: ${{ cancelled() }} == false
|
||||
uses: actions/cache/save@v3
|
||||
with:
|
||||
key: logs-MySQL
|
||||
path: ./docs/ru/results/MySQL
|
||||
|
||||
|
||||
Testing-SQLite:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [Decode, Build]
|
||||
@@ -1557,7 +1599,7 @@ jobs:
|
||||
|
||||
Encode:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [Testing-Telegram,Testing-VK,Testing-Viber,Testing-Twitter,Testing-PostgreSQL,Testing-SQLite,Testing-RCON,Testing-YandexDisk,Testing-GoogleWorkspace,Testing-GoogleCalendar,Testing-GoogleDrive,Testing-GoogleSheets,Testing-Notion,Testing-Slack,Testing-Airtable,Testing-Dropbox,Testing-Bitrix24,Testing-VkTeams,Testing-Ozon,Testing-Neocities,Testing-CDEK,Testing-YandexMetrika,Testing-S3,Testing-TCP,Testing-GreenAPI]
|
||||
needs: [Testing-Telegram,Testing-VK,Testing-Viber,Testing-Twitter,Testing-PostgreSQL,Testing-MySQL,Testing-SQLite,Testing-RCON,Testing-YandexDisk,Testing-GoogleWorkspace,Testing-GoogleCalendar,Testing-GoogleDrive,Testing-GoogleSheets,Testing-Notion,Testing-Slack,Testing-Airtable,Testing-Dropbox,Testing-Bitrix24,Testing-VkTeams,Testing-Ozon,Testing-Neocities,Testing-CDEK,Testing-YandexMetrika,Testing-S3,Testing-TCP,Testing-GreenAPI]
|
||||
if: ${{ always() }}
|
||||
permissions:
|
||||
contents: write
|
||||
@@ -1665,6 +1707,22 @@ jobs:
|
||||
-H "X-GitHub-Api-Version: 2022-11-28" \
|
||||
"https://api.github.com/repos/Bayselonarrend/OpenIntegrations/actions/caches?key=logs-PostgreSQL"
|
||||
|
||||
- name: Получить логи MySQL
|
||||
uses: actions/cache/restore@v3
|
||||
with:
|
||||
key: logs-MySQL
|
||||
path: ./docs/ru/results/MySQL
|
||||
|
||||
|
||||
- name: Очистка логов MySQL
|
||||
run: |
|
||||
curl -L \
|
||||
-X DELETE \
|
||||
-H "Accept: application/vnd.github+json" \
|
||||
-H "Authorization: Bearer ${{ secrets.TOKEN }}" \
|
||||
-H "X-GitHub-Api-Version: 2022-11-28" \
|
||||
"https://api.github.com/repos/Bayselonarrend/OpenIntegrations/actions/caches?key=logs-MySQL"
|
||||
|
||||
- name: Получить логи SQLite
|
||||
uses: actions/cache/restore@v3
|
||||
with:
|
||||
@@ -1997,7 +2055,7 @@ jobs:
|
||||
|
||||
Clear-Cache:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [Testing-Telegram, Testing-VK, Testing-Viber, Testing-Twitter, Testing-PostgreSQL, Testing-SQLite, Testing-RCON, Testing-YandexDisk, Testing-GoogleWorkspace, Testing-GoogleCalendar, Testing-GoogleDrive, Testing-GoogleSheets, Testing-Notion, Testing-Slack, Testing-Airtable, Testing-Dropbox, Testing-Bitrix24, Testing-VkTeams, Testing-Ozon, Testing-Neocities, Testing-CDEK, Testing-YandexMetrika, Testing-S3, Testing-TCP, Testing-GreenAPI, Encode]
|
||||
needs: [Testing-Telegram, Testing-VK, Testing-Viber, Testing-Twitter, Testing-PostgreSQL, Testing-MySQL, Testing-SQLite, Testing-RCON, Testing-YandexDisk, Testing-GoogleWorkspace, Testing-GoogleCalendar, Testing-GoogleDrive, Testing-GoogleSheets, Testing-Notion, Testing-Slack, Testing-Airtable, Testing-Dropbox, Testing-Bitrix24, Testing-VkTeams, Testing-Ozon, Testing-Neocities, Testing-CDEK, Testing-YandexMetrika, Testing-S3, Testing-TCP, Testing-GreenAPI, Encode]
|
||||
if: ${{ always() }}
|
||||
steps:
|
||||
- name: Очистка основного кэша
|
||||
|
||||
11
ci/cli_ostestru
vendored
11
ci/cli_ostestru
vendored
@@ -254,6 +254,17 @@ pipeline {
|
||||
}
|
||||
}
|
||||
|
||||
stage('Testing-MySQL') {
|
||||
steps {
|
||||
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os" "CLI_MYS_ОсновныеМетоды"'
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
stage('Testing-SQLite') {
|
||||
steps {
|
||||
|
||||
|
||||
64
ci/clitesten
vendored
64
ci/clitesten
vendored
@@ -61,6 +61,11 @@ pipeline {
|
||||
test_greenapi()
|
||||
}
|
||||
}
|
||||
stage('mysql'){
|
||||
steps{
|
||||
test_mysql()
|
||||
}
|
||||
}
|
||||
stage('neocities'){
|
||||
steps{
|
||||
test_neocities()
|
||||
@@ -1613,6 +1618,64 @@ def test_greenapi(){
|
||||
}
|
||||
|
||||
|
||||
def test_mysql(){
|
||||
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql ExecuteSQLQuery --sql "test" --params "test" --force "test" --dbc "test" --tls "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql GenerateConnectionString --addr "test" --db "test" --login "test" --pass "test" --port "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql GetTlsSettings --trust "test" --cert "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql CreateDatabase --base "test" --dbc "test" --tls "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql DeleteDatabase --base "test" --dbc "test" --tls "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql CreateTable --table "test" --cols "test" --dbc "test" --tls "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql ClearTable --table "test" --dbc "test" --tls "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql DeleteTable --table "test" --dbc "test" --tls "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql AddRecords --table "test" --rows "test" --trn "test" --dbc "test" --tls "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql GetRecords --table "test" --fields "test" --filter "test" --order "test" --limit "test" --dbc "test" --tls "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql UpdateRecords --table "test" --values "test" --filter "test" --dbc "test" --tls "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql DeleteRecords --table "test" --filter "test" --dbc "test" --tls "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql GetRecordsFilterStrucutre --empty "test" --debug --test '
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
def test_neocities(){
|
||||
|
||||
|
||||
@@ -3144,6 +3207,7 @@ test_gdrive()
|
||||
test_gsheets()
|
||||
test_google()
|
||||
test_greenapi()
|
||||
test_mysql()
|
||||
test_neocities()
|
||||
test_notion()
|
||||
test_ozon()
|
||||
|
||||
64
ci/clitestru
vendored
64
ci/clitestru
vendored
@@ -61,6 +61,11 @@ pipeline {
|
||||
test_greenapi()
|
||||
}
|
||||
}
|
||||
stage('mysql'){
|
||||
steps{
|
||||
test_mysql()
|
||||
}
|
||||
}
|
||||
stage('neocities'){
|
||||
steps{
|
||||
test_neocities()
|
||||
@@ -1613,6 +1618,64 @@ def test_greenapi(){
|
||||
}
|
||||
|
||||
|
||||
def test_mysql(){
|
||||
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql ВыполнитьЗапросSQL --sql "test" --params "test" --force "test" --dbc "test" --tls "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql СформироватьСтрокуПодключения --addr "test" --db "test" --login "test" --pass "test" --port "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql ПолучитьНастройкиTls --trust "test" --cert "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql СоздатьБазуДанных --base "test" --dbc "test" --tls "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql УдалитьБазуДанных --base "test" --dbc "test" --tls "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql СоздатьТаблицу --table "test" --cols "test" --dbc "test" --tls "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql ОчиститьТаблицу --table "test" --dbc "test" --tls "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql УдалитьТаблицу --table "test" --dbc "test" --tls "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql ДобавитьЗаписи --table "test" --rows "test" --trn "test" --dbc "test" --tls "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql ПолучитьЗаписи --table "test" --fields "test" --filter "test" --order "test" --limit "test" --dbc "test" --tls "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql ОбновитьЗаписи --table "test" --values "test" --filter "test" --dbc "test" --tls "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql УдалитьЗаписи --table "test" --filter "test" --dbc "test" --tls "test" --debug --test '
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe mysql ПолучитьСтруктуруФильтраЗаписей --empty "test" --debug --test '
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
def test_neocities(){
|
||||
|
||||
|
||||
@@ -3144,6 +3207,7 @@ test_gdrive()
|
||||
test_gsheets()
|
||||
test_google()
|
||||
test_greenapi()
|
||||
test_mysql()
|
||||
test_neocities()
|
||||
test_notion()
|
||||
test_ozon()
|
||||
|
||||
11
ci/ostestru
vendored
11
ci/ostestru
vendored
@@ -254,6 +254,17 @@ pipeline {
|
||||
}
|
||||
}
|
||||
|
||||
stage('Testing-MySQL') {
|
||||
steps {
|
||||
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_Тесты.os" "MYS_ОсновныеМетоды"'
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
stage('Testing-SQLite') {
|
||||
steps {
|
||||
|
||||
|
||||
4
docs/en/data/MySQL/CloseConnection.json
vendored
Normal file
4
docs/en/data/MySQL/CloseConnection.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"Address": "127.0.0.1",
|
||||
"Password": "12we..."
|
||||
}
|
||||
4
docs/en/data/MySQL/CreateConnection.json
vendored
Normal file
4
docs/en/data/MySQL/CreateConnection.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"Address": "127.0.0.1",
|
||||
"Password": "12we..."
|
||||
}
|
||||
5
docs/en/data/MySQL/ExecuteSQLQuery.json
vendored
Normal file
5
docs/en/data/MySQL/ExecuteSQLQuery.json
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"Image": "https://api.athenaeum.digital/test_data/picture.jpg",
|
||||
"Address": "127.0.0.1",
|
||||
"Password": "12we..."
|
||||
}
|
||||
4
docs/en/data/MySQL/GenerateConnectionString.json
vendored
Normal file
4
docs/en/data/MySQL/GenerateConnectionString.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"Address": "127.0.0.1",
|
||||
"Password": "12we..."
|
||||
}
|
||||
4
docs/en/data/MySQL/IsConnector.json
vendored
Normal file
4
docs/en/data/MySQL/IsConnector.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"Address": "127.0.0.1",
|
||||
"Password": "12we..."
|
||||
}
|
||||
8
docs/en/examples/MySQL/CloseConnection.txt
vendored
Normal file
8
docs/en/examples/MySQL/CloseConnection.txt
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
Address = "127.0.0.1";
|
||||
Login = "bayselonarrend";
|
||||
Password = "12we...";
|
||||
Base = "";
|
||||
|
||||
ConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
Connection = OPI_MySQL.CreateConnection(ConnectionString);
|
||||
Result = OPI_MySQL.CloseConnection(Connection);
|
||||
9
docs/en/examples/MySQL/CreateConnection.txt
vendored
Normal file
9
docs/en/examples/MySQL/CreateConnection.txt
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
Address = "127.0.0.1";
|
||||
Login = "bayselonarrend";
|
||||
Password = "12we...";
|
||||
Base = "";
|
||||
|
||||
ConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
Result = OPI_MySQL.CreateConnection(ConnectionString);
|
||||
|
||||
OPI_MySQL.CloseConnection(Result);
|
||||
53
docs/en/examples/MySQL/ExecuteSQLQuery.txt
vendored
Normal file
53
docs/en/examples/MySQL/ExecuteSQLQuery.txt
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
Image = "https://api.athenaeum.digital/test_data/picture.jpg";
|
||||
OPI_TypeConversion.GetBinaryData(Image); // Image - Type: BinaryData
|
||||
|
||||
Address = "127.0.0.1";
|
||||
Login = "bayselonarrend";
|
||||
Password = "12we...";
|
||||
Base = "test_data";
|
||||
|
||||
ConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
Connection = OPI_MySQL.CreateConnection(ConnectionString);
|
||||
|
||||
// CREATE
|
||||
|
||||
QueryText = "
|
||||
|CREATE TABLE test_table (
|
||||
|id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
|name VARCHAR(255),
|
||||
|age INT,
|
||||
|salary DOUBLE,
|
||||
|amount FLOAT,
|
||||
|type TINYINT UNSIGNED,
|
||||
|date DATE,
|
||||
|time TIME,
|
||||
|data BLOB
|
||||
|);";
|
||||
|
||||
Result = OPI_MySQL.ExecuteSQLQuery(QueryText, , , Connection);
|
||||
|
||||
// INSERT with parameters
|
||||
|
||||
QueryText = "
|
||||
|INSERT INTO test_table (name, age, salary, amount, type, date, time, data)
|
||||
|VALUES (?, ?, ?, ?, ?, ?, ?, ?);";
|
||||
|
||||
ParameterArray = New Array;
|
||||
ParameterArray.Add(New Structure("TEXT" , "Vitaly"));
|
||||
ParameterArray.Add(New Structure("INT" , 25));
|
||||
ParameterArray.Add(New Structure("DOUBLE", 1000.12));
|
||||
ParameterArray.Add(New Structure("FLOAT" , 1000.12));
|
||||
ParameterArray.Add(New Structure("UINT" , 1));
|
||||
ParameterArray.Add(New Structure("DATE" , OPI_Tools.GetCurrentDate()));
|
||||
ParameterArray.Add(New Structure("TIME" , OPI_Tools.GetCurrentDate()));
|
||||
ParameterArray.Add(New Structure("BYTES" , Image));
|
||||
|
||||
Result = OPI_MySQL.ExecuteSQLQuery(QueryText, ParameterArray, , Connection);
|
||||
|
||||
// SELECT (The result of this query is shown in the Result block)
|
||||
|
||||
QueryText = "SELECT name, age, salary, amount, type, date, time, data FROM test_table;";
|
||||
|
||||
Result = OPI_MySQL.ExecuteSQLQuery(QueryText, , , Connection);
|
||||
|
||||
Closing = OPI_MySQL.CloseConnection(Connection);
|
||||
6
docs/en/examples/MySQL/GenerateConnectionString.txt
vendored
Normal file
6
docs/en/examples/MySQL/GenerateConnectionString.txt
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
Address = "127.0.0.1";
|
||||
Login = "bayselonarrend";
|
||||
Password = "12we...";
|
||||
Base = "";
|
||||
|
||||
Result = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
11
docs/en/examples/MySQL/IsConnector.txt
vendored
Normal file
11
docs/en/examples/MySQL/IsConnector.txt
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
Address = "127.0.0.1";
|
||||
Login = "bayselonarrend";
|
||||
Password = "12we...";
|
||||
Base = "";
|
||||
|
||||
ConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
|
||||
Connection = OPI_MySQL.CreateConnection(ConnectionString);
|
||||
Result = OPI_MySQL.IsConnector(Connection);
|
||||
|
||||
OPI_MySQL.CloseConnection(Result);
|
||||
46
docs/en/md/MySQL/Common-methods/Close-connection.mdx
vendored
Normal file
46
docs/en/md/MySQL/Common-methods/Close-connection.mdx
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Close connection
|
||||
Explicitly closes the passed connection
|
||||
|
||||
|
||||
|
||||
`Function CloseConnection(Val Connection) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Connection | - | Arbitrary | ✔ | AddIn object with open connection |
|
||||
|
||||
|
||||
Returns: Structure Of KeyAndValue - Result of connection termination
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
:::caution
|
||||
**NOCLI:** this method is not available in CLI version
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Address = "127.0.0.1";
|
||||
Login = "bayselonarrend";
|
||||
Password = "12we...";
|
||||
Base = "";
|
||||
|
||||
ConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
Connection = OPI_MySQL.CreateConnection(ConnectionString);
|
||||
Result = OPI_MySQL.CloseConnection(Connection);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
48
docs/en/md/MySQL/Common-methods/Create-connection.mdx
vendored
Normal file
48
docs/en/md/MySQL/Common-methods/Create-connection.mdx
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Create Connection
|
||||
Creates a connection to the specified base
|
||||
|
||||
|
||||
|
||||
`Function CreateConnection(Val ConnectionString = "", Val Tls = "") Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| ConnectionString | - | String | ✖ | Connection string. See GenerateConnectionString |
|
||||
| Tls | - | Structure Of KeyAndValue | ✖ | TLS settings, if necessary. See GetTlsSettings |
|
||||
|
||||
|
||||
Returns: Arbitrary - Connector object or structure with error information
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
:::caution
|
||||
**NOCLI:** this method is not available in CLI version
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Address = "127.0.0.1";
|
||||
Login = "bayselonarrend";
|
||||
Password = "12we...";
|
||||
Base = "";
|
||||
|
||||
ConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
Result = OPI_MySQL.CreateConnection(ConnectionString);
|
||||
|
||||
OPI_MySQL.CloseConnection(Result);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
96
docs/en/md/MySQL/Common-methods/Execute-sql-query.mdx
vendored
Normal file
96
docs/en/md/MySQL/Common-methods/Execute-sql-query.mdx
vendored
Normal file
@@ -0,0 +1,96 @@
|
||||
---
|
||||
sidebar_position: 4
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Execute SQL query
|
||||
Executes an arbitrary SQL query
|
||||
|
||||
|
||||
|
||||
`Function ExecuteSQLQuery(Val QueryText, Val Parameters = "", Val ForceResult = False, Val Connection = "", Val Tls = "") Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| QueryText | --sql | String | ✔ | Database query text |
|
||||
| Parameters | --params | Array Of Arbitrary | ✖ | Array of positional parameters of the request |
|
||||
| ForceResult | --force | Boolean | ✖ | Includes an attempt to retrieve the result, even for nonSELECT queries |
|
||||
| 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
|
||||
Query parameters are specified as an array of structures of the following type: `{'Type': 'Value'}`. The list of available types is described on the initial page of the MySQL library documentation
|
||||
|
||||
Without specifying the `ForcifyResult` flag, result data is returned only for queries beginning with `SELECT` keyword For other queries, `result:true` or `false` with error text is returned
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Image = "https://api.athenaeum.digital/test_data/picture.jpg";
|
||||
OPI_TypeConversion.GetBinaryData(Image); // Image - Type: BinaryData
|
||||
|
||||
Address = "127.0.0.1";
|
||||
Login = "bayselonarrend";
|
||||
Password = "12we...";
|
||||
Base = "test_data";
|
||||
|
||||
ConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
Connection = OPI_MySQL.CreateConnection(ConnectionString);
|
||||
|
||||
// CREATE
|
||||
|
||||
QueryText = "
|
||||
|CREATE TABLE test_table (
|
||||
|id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
|name VARCHAR(255),
|
||||
|age INT,
|
||||
|salary DOUBLE,
|
||||
|amount FLOAT,
|
||||
|type TINYINT UNSIGNED,
|
||||
|date DATE,
|
||||
|time TIME,
|
||||
|data BLOB
|
||||
|);";
|
||||
|
||||
Result = OPI_MySQL.ExecuteSQLQuery(QueryText, , , Connection);
|
||||
|
||||
// INSERT with parameters
|
||||
|
||||
QueryText = "
|
||||
|INSERT INTO test_table (name, age, salary, amount, type, date, time, data)
|
||||
|VALUES (?, ?, ?, ?, ?, ?, ?, ?);";
|
||||
|
||||
ParameterArray = New Array;
|
||||
ParameterArray.Add(New Structure("TEXT" , "Vitaly"));
|
||||
ParameterArray.Add(New Structure("INT" , 25));
|
||||
ParameterArray.Add(New Structure("DOUBLE", 1000.12));
|
||||
ParameterArray.Add(New Structure("FLOAT" , 1000.12));
|
||||
ParameterArray.Add(New Structure("UINT" , 1));
|
||||
ParameterArray.Add(New Structure("DATE" , OPI_Tools.GetCurrentDate()));
|
||||
ParameterArray.Add(New Structure("TIME" , OPI_Tools.GetCurrentDate()));
|
||||
ParameterArray.Add(New Structure("BYTES" , Image));
|
||||
|
||||
Result = OPI_MySQL.ExecuteSQLQuery(QueryText, ParameterArray, , Connection);
|
||||
|
||||
// SELECT (The result of this query is shown in the Result block)
|
||||
|
||||
QueryText = "SELECT name, age, salary, amount, type, date, time, data FROM test_table;";
|
||||
|
||||
Result = OPI_MySQL.ExecuteSQLQuery(QueryText, , , Connection);
|
||||
|
||||
Closing = OPI_MySQL.CloseConnection(Connection);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
43
docs/en/md/MySQL/Common-methods/Generate-connection-string.mdx
vendored
Normal file
43
docs/en/md/MySQL/Common-methods/Generate-connection-string.mdx
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
---
|
||||
sidebar_position: 5
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Generate connection string
|
||||
Forms a connection string from the passed data
|
||||
|
||||
|
||||
|
||||
`Function GenerateConnectionString(Val Address, Val Base, Val Login, Val Password = "", Val Port = "3306") Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Address | --addr | String | ✔ | IP address or domain name of the server |
|
||||
| Base | --db | String | ✔ | Name of the database to connect |
|
||||
| Login | --login | String | ✔ | MySQL user |
|
||||
| Password | --pass | String | ✖ | MySQL password |
|
||||
| Port | --port | String | ✖ | Connection port |
|
||||
|
||||
|
||||
Returns: String - MySQL database connection string
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Address = "127.0.0.1";
|
||||
Login = "bayselonarrend";
|
||||
Password = "12we...";
|
||||
Base = "";
|
||||
|
||||
Result = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
41
docs/en/md/MySQL/Common-methods/Get-tls-settings.mdx
vendored
Normal file
41
docs/en/md/MySQL/Common-methods/Get-tls-settings.mdx
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
sidebar_position: 6
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Get TLS Settings
|
||||
Forms settings for using TLS
|
||||
|
||||
|
||||
|
||||
`Function GetTlsSettings(Val DisableCertVerification, Val CertFilepath = "") Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| DisableCertVerification | --trust | Boolean | ✔ | Allows to work with invalid certificates, including self signed |
|
||||
| CertFilepath | --cert | String | ✖ | Path to the root PEM file of the certificate if it is not in the system repository |
|
||||
|
||||
|
||||
Returns: Structure Of KeyAndValue - Structure of TLS connection settings
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Tls settings can only be set when a connection is created: explicitly, by using the `OpenConnection` function or implicit, when passing the connection string to ORM methods.
|
||||
|
||||
Passing Tls settings together with passing an already created connection to the `Connection` parameter will be ignored
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
49
docs/en/md/MySQL/Common-methods/Is-connector.mdx
vendored
Normal file
49
docs/en/md/MySQL/Common-methods/Is-connector.mdx
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Is connector
|
||||
Checks that the value is an object of an MySQL AddIn
|
||||
|
||||
|
||||
|
||||
`Function IsConnector(Val Value) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Value | - | Arbitrary | ✔ | Value to check |
|
||||
|
||||
|
||||
Returns: Boolean - Is connector
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
:::caution
|
||||
**NOCLI:** this method is not available in CLI version
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Address = "127.0.0.1";
|
||||
Login = "bayselonarrend";
|
||||
Password = "12we...";
|
||||
Base = "";
|
||||
|
||||
ConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
|
||||
Connection = OPI_MySQL.CreateConnection(ConnectionString);
|
||||
Result = OPI_MySQL.IsConnector(Connection);
|
||||
|
||||
OPI_MySQL.CloseConnection(Result);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
4
docs/en/md/MySQL/Common-methods/_category_.json
vendored
Normal file
4
docs/en/md/MySQL/Common-methods/_category_.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"label": "Common methods",
|
||||
"position": "2"
|
||||
}
|
||||
44
docs/en/md/MySQL/Orm/Add-records.mdx
vendored
Normal file
44
docs/en/md/MySQL/Orm/Add-records.mdx
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
---
|
||||
sidebar_position: 6
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Add rows
|
||||
Adds new rows to the table
|
||||
|
||||
|
||||
|
||||
`Function AddRecords(Val Table, Val DataArray, Val Transaction = True, Val Connection = "", Val Tls = "") Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Table | --table | String | ✔ | Table name |
|
||||
| DataArray | --rows | Array of Structure | ✔ | An array of string data structures: Key > field, Value > field value |
|
||||
| Transaction | --trn | Boolean | ✖ | True > adding records to transactions with rollback on error |
|
||||
| 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
|
||||
Record data is specified as an array of structures of the following type:<br/>`{'Field name 1': {'Type': 'Value'}, 'Field name 2': {'Type': 'Value'},...}`
|
||||
|
||||
The list of available types is described on the initial page of the MySQL library documentation
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
36
docs/en/md/MySQL/Orm/Clear-table.mdx
vendored
Normal file
36
docs/en/md/MySQL/Orm/Clear-table.mdx
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
---
|
||||
sidebar_position: 4
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Clear table
|
||||
Clears the database table
|
||||
|
||||
|
||||
|
||||
`Function ClearTable(Val Table, Val Connection = "", Val Tls = "") Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Table | --table | String | ✔ | Table name |
|
||||
| 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/>
|
||||
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
36
docs/en/md/MySQL/Orm/Create-database.mdx
vendored
Normal file
36
docs/en/md/MySQL/Orm/Create-database.mdx
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Create database
|
||||
Creates a database with the specified name
|
||||
|
||||
|
||||
|
||||
`Function CreateDatabase(Val Base, Val Connection = "", Val Tls = "") Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Base | --base | String | ✔ | Database name |
|
||||
| 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/>
|
||||
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
41
docs/en/md/MySQL/Orm/Create-table.mdx
vendored
Normal file
41
docs/en/md/MySQL/Orm/Create-table.mdx
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
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"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
36
docs/en/md/MySQL/Orm/Delete-database.mdx
vendored
Normal file
36
docs/en/md/MySQL/Orm/Delete-database.mdx
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Drop database
|
||||
Deletes the database
|
||||
|
||||
|
||||
|
||||
`Function DeleteDatabase(Val Base, Val Connection = "", Val Tls = "") Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Base | --base | String | ✔ | Database name |
|
||||
| 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/>
|
||||
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
37
docs/en/md/MySQL/Orm/Delete-records.mdx
vendored
Normal file
37
docs/en/md/MySQL/Orm/Delete-records.mdx
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
---
|
||||
sidebar_position: 9
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Delete records
|
||||
Deletes records from the table
|
||||
|
||||
|
||||
|
||||
`Function DeleteRecords(Val Table, Val Filters = "", Val Connection = "", Val Tls = "") Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Table | --table | String | ✔ | Table name |
|
||||
| Filters | --filter | Array of Structure | ✖ | Filters array. See GetRecordsFilterStrucutre |
|
||||
| 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/>
|
||||
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
36
docs/en/md/MySQL/Orm/Delete-table.mdx
vendored
Normal file
36
docs/en/md/MySQL/Orm/Delete-table.mdx
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
---
|
||||
sidebar_position: 5
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Delete table
|
||||
Deletes a table from the database
|
||||
|
||||
|
||||
|
||||
`Function DeleteTable(Val Table, Val Connection = "", Val Tls = "") Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Table | --table | String | ✔ | Table name |
|
||||
| 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/>
|
||||
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
40
docs/en/md/MySQL/Orm/Get-records-filter-strucutre.mdx
vendored
Normal file
40
docs/en/md/MySQL/Orm/Get-records-filter-strucutre.mdx
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
---
|
||||
sidebar_position: 10
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Get records filter strucutre
|
||||
Gets the template structure for filtering records in ORM queries
|
||||
|
||||
|
||||
|
||||
`Function GetRecordsFilterStrucutre(Val Clear = False) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Clear | --empty | Boolean | ✖ | True > structure with empty valuse, False > field descriptions at values |
|
||||
|
||||
|
||||
Returns: Structure Of KeyAndValue - Record filter element
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
The use of the `raw` feature is necessary for compound constructions like `BEETWEEN`. For example: with `raw:false` the filter `type:BETWEEN` `value:10 AND 20` will be interpolated as `BETWEEN ?1 ` where `?1 = "10 AND 20,"' which would cause an error.
|
||||
|
||||
In such a case, you must use `raw:true` to set the condition directly in the query text
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
40
docs/en/md/MySQL/Orm/Get-records.mdx
vendored
Normal file
40
docs/en/md/MySQL/Orm/Get-records.mdx
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
---
|
||||
sidebar_position: 7
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Get records
|
||||
Gets records from the selected table
|
||||
|
||||
|
||||
|
||||
`Function GetRecords(Val Table, Val Fields = "*", Val Filters = "", Val Sort = "", Val Count = "", Val Connection = "", Val Tls = "") Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Table | --table | String | ✔ | Table name |
|
||||
| Fields | --fields | Array Of String | ✖ | Fields for selection |
|
||||
| Filters | --filter | Array of Structure | ✖ | Filters array. See GetRecordsFilterStrucutre |
|
||||
| Sort | --order | Structure Of KeyAndValue | ✖ | Sorting: Key > field name, Value > direction (ASC, DESC) |
|
||||
| Count | --limit | Number | ✖ | Limiting the number of received strings |
|
||||
| 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/>
|
||||
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
44
docs/en/md/MySQL/Orm/Update-records.mdx
vendored
Normal file
44
docs/en/md/MySQL/Orm/Update-records.mdx
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
---
|
||||
sidebar_position: 8
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Update records
|
||||
Updates the value of records by selected criteria
|
||||
|
||||
|
||||
|
||||
`Function UpdateRecords(Val Table, Val ValueStructure, Val Filters = "", Val Connection = "", Val Tls = "") Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Table | --table | String | ✔ | Table name |
|
||||
| ValueStructure | --values | Structure Of KeyAndValue | ✔ | Values structure: Key > field, Value > field value |
|
||||
| Filters | --filter | Array of Structure | ✖ | Filters array. See GetRecordsFilterStrucutre |
|
||||
| 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
|
||||
Record data is specified as an array of structures of the following type:<br/>`{'Field name 1': {'Type': 'Value'}, 'Field name 2': {'Type': 'Value'},...}`
|
||||
|
||||
The list of available types is described on the initial page of the MySQL library documentation
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
4
docs/en/md/MySQL/Orm/_category_.json
vendored
Normal file
4
docs/en/md/MySQL/Orm/_category_.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"label": "ORM",
|
||||
"position": "3"
|
||||
}
|
||||
5
docs/ru/data/MySQL/ВыполнитьЗапросSQL.json
vendored
Normal file
5
docs/ru/data/MySQL/ВыполнитьЗапросSQL.json
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"Картинка": "https://api.athenaeum.digital/test_data/picture.jpg",
|
||||
"Адрес": "127.0.0.1",
|
||||
"Пароль": "12we..."
|
||||
}
|
||||
4
docs/ru/data/MySQL/ЗакрытьСоединение.json
vendored
Normal file
4
docs/ru/data/MySQL/ЗакрытьСоединение.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"Адрес": "127.0.0.1",
|
||||
"Пароль": "12we..."
|
||||
}
|
||||
4
docs/ru/data/MySQL/ОткрытьСоединение.json
vendored
Normal file
4
docs/ru/data/MySQL/ОткрытьСоединение.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"Адрес": "127.0.0.1",
|
||||
"Пароль": "12we..."
|
||||
}
|
||||
4
docs/ru/data/MySQL/СформироватьСтрокуПодключения.json
vendored
Normal file
4
docs/ru/data/MySQL/СформироватьСтрокуПодключения.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"Адрес": "127.0.0.1",
|
||||
"Пароль": "12we..."
|
||||
}
|
||||
4
docs/ru/data/MySQL/ЭтоКоннектор.json
vendored
Normal file
4
docs/ru/data/MySQL/ЭтоКоннектор.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"Адрес": "127.0.0.1",
|
||||
"Пароль": "12we..."
|
||||
}
|
||||
53
docs/ru/examples/MySQL/ВыполнитьЗапросSQL.txt
vendored
Normal file
53
docs/ru/examples/MySQL/ВыполнитьЗапросSQL.txt
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
Картинка = "https://api.athenaeum.digital/test_data/picture.jpg";
|
||||
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Картинка); // Картинка - Тип: ДвоичныеДанные
|
||||
|
||||
Адрес = "127.0.0.1";
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = "12we...";
|
||||
База = "test_data";
|
||||
|
||||
СтрокаПодключения = OPI_MySQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
Соединение = OPI_MySQL.ОткрытьСоединение(СтрокаПодключения);
|
||||
|
||||
// CREATE
|
||||
|
||||
ТекстЗапроса = "
|
||||
|CREATE TABLE test_table (
|
||||
|id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
|name VARCHAR(255),
|
||||
|age INT,
|
||||
|salary DOUBLE,
|
||||
|amount FLOAT,
|
||||
|type TINYINT UNSIGNED,
|
||||
|date DATE,
|
||||
|time TIME,
|
||||
|data BLOB
|
||||
|);";
|
||||
|
||||
Результат = OPI_MySQL.ВыполнитьЗапросSQL(ТекстЗапроса, , , Соединение);
|
||||
|
||||
// INSERT с параметрами
|
||||
|
||||
ТекстЗапроса = "
|
||||
|INSERT INTO test_table (name, age, salary, amount, type, date, time, data)
|
||||
|VALUES (?, ?, ?, ?, ?, ?, ?, ?);";
|
||||
|
||||
МассивПараметров = Новый Массив;
|
||||
МассивПараметров.Добавить(Новый Структура("TEXT" , "Vitaly"));
|
||||
МассивПараметров.Добавить(Новый Структура("INT" , 25));
|
||||
МассивПараметров.Добавить(Новый Структура("DOUBLE", 1000.12));
|
||||
МассивПараметров.Добавить(Новый Структура("FLOAT" , 1000.12));
|
||||
МассивПараметров.Добавить(Новый Структура("UINT" , 1));
|
||||
МассивПараметров.Добавить(Новый Структура("DATE" , OPI_Инструменты.ПолучитьТекущуюДату()));
|
||||
МассивПараметров.Добавить(Новый Структура("TIME" , OPI_Инструменты.ПолучитьТекущуюДату()));
|
||||
МассивПараметров.Добавить(Новый Структура("BYTES" , Картинка));
|
||||
|
||||
Результат = OPI_MySQL.ВыполнитьЗапросSQL(ТекстЗапроса, МассивПараметров, , Соединение);
|
||||
|
||||
// SELECT (Результат этого запроса приведен в следующем блоке)
|
||||
|
||||
ТекстЗапроса = "SELECT name, age, salary, amount, type, date, time, data FROM test_table;";
|
||||
|
||||
Результат = OPI_MySQL.ВыполнитьЗапросSQL(ТекстЗапроса, , , Соединение);
|
||||
|
||||
Закрытие = OPI_MySQL.ЗакрытьСоединение(Соединение);
|
||||
8
docs/ru/examples/MySQL/ЗакрытьСоединение.txt
vendored
Normal file
8
docs/ru/examples/MySQL/ЗакрытьСоединение.txt
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
Адрес = "127.0.0.1";
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = "12we...";
|
||||
База = "";
|
||||
|
||||
СтрокаПодключения = OPI_MySQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
Соединение = OPI_MySQL.ОткрытьСоединение(СтрокаПодключения);
|
||||
Результат = OPI_MySQL.ЗакрытьСоединение(Соединение);
|
||||
9
docs/ru/examples/MySQL/ОткрытьСоединение.txt
vendored
Normal file
9
docs/ru/examples/MySQL/ОткрытьСоединение.txt
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
Адрес = "127.0.0.1";
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = "12we...";
|
||||
База = "";
|
||||
|
||||
СтрокаПодключения = OPI_MySQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
Результат = OPI_MySQL.ОткрытьСоединение(СтрокаПодключения);
|
||||
|
||||
OPI_MySQL.ЗакрытьСоединение(Результат);
|
||||
6
docs/ru/examples/MySQL/СформироватьСтрокуПодключения.txt
vendored
Normal file
6
docs/ru/examples/MySQL/СформироватьСтрокуПодключения.txt
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
Адрес = "127.0.0.1";
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = "12we...";
|
||||
База = "";
|
||||
|
||||
Результат = OPI_MySQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
11
docs/ru/examples/MySQL/ЭтоКоннектор.txt
vendored
Normal file
11
docs/ru/examples/MySQL/ЭтоКоннектор.txt
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
Адрес = "127.0.0.1";
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = "12we...";
|
||||
База = "";
|
||||
|
||||
СтрокаПодключения = OPI_MySQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
|
||||
Соединение = OPI_MySQL.ОткрытьСоединение(СтрокаПодключения);
|
||||
Результат = OPI_MySQL.ЭтоКоннектор(Соединение);
|
||||
|
||||
OPI_MySQL.ЗакрытьСоединение(Результат);
|
||||
46
docs/ru/md/MySQL/Common-methods/Close-connection.mdx
vendored
Normal file
46
docs/ru/md/MySQL/Common-methods/Close-connection.mdx
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Закрыть соединение
|
||||
Явно закрывает переданное соединение
|
||||
|
||||
|
||||
|
||||
`Функция ЗакрытьСоединение(Знач Соединение) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Соединение | - | Произвольный | ✔ | Объект компоненты с открытым соединением |
|
||||
|
||||
|
||||
Возвращаемое значение: Структура Из КлючИЗначение - Результат закрытия соединения
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
:::caution
|
||||
**NOCLI:** данный метод недоступен для использования в CLI версии
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
Адрес = "127.0.0.1";
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = "12we...";
|
||||
База = "";
|
||||
|
||||
СтрокаПодключения = OPI_MySQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
Соединение = OPI_MySQL.ОткрытьСоединение(СтрокаПодключения);
|
||||
Результат = OPI_MySQL.ЗакрытьСоединение(Соединение);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
48
docs/ru/md/MySQL/Common-methods/Create-connection.mdx
vendored
Normal file
48
docs/ru/md/MySQL/Common-methods/Create-connection.mdx
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Открыть соединение
|
||||
Создает подключение к указанной базе
|
||||
|
||||
|
||||
|
||||
`Функция ОткрытьСоединение(Знач СтрокаПодключения = "", Знач Tls = "") Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| СтрокаПодключения | - | Строка | ✖ | Строка подключения. См. СформироватьСтрокуПодключения |
|
||||
| Tls | - | Структура Из КлючИЗначение | ✖ | Настройки TLS, если необходимо. См. ПолучитьНастройкиTls |
|
||||
|
||||
|
||||
Возвращаемое значение: Произвольный - Объект коннектора или структура с информацией об ошибке
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
:::caution
|
||||
**NOCLI:** данный метод недоступен для использования в CLI версии
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
Адрес = "127.0.0.1";
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = "12we...";
|
||||
База = "";
|
||||
|
||||
СтрокаПодключения = OPI_MySQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
Результат = OPI_MySQL.ОткрытьСоединение(СтрокаПодключения);
|
||||
|
||||
OPI_MySQL.ЗакрытьСоединение(Результат);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
96
docs/ru/md/MySQL/Common-methods/Execute-sql-query.mdx
vendored
Normal file
96
docs/ru/md/MySQL/Common-methods/Execute-sql-query.mdx
vendored
Normal file
@@ -0,0 +1,96 @@
|
||||
---
|
||||
sidebar_position: 4
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Выполнить запрос SQL
|
||||
Выполняет произвольный SQL запрос
|
||||
|
||||
|
||||
|
||||
`Функция ВыполнитьЗапросSQL(Знач ТекстЗапроса, Знач Параметры = "", Знач ФорсироватьРезультат = Ложь, Знач Соединение = "", Знач Tls = "") Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| ТекстЗапроса | --sql | Строка | ✔ | Текст запроса к базе |
|
||||
| Параметры | --params | Массив Из Произвольный | ✖ | Массив позиционных параметров запроса |
|
||||
| ФорсироватьРезультат | --force | Булево | ✖ | Включает попытку получения результата, даже для не SELECT запросов |
|
||||
| Соединение | --dbc | Строка, Произвольный | ✖ | Соединение или строка подключения |
|
||||
| Tls | --tls | Структура Из КлючИЗначение | ✖ | Настройки TLS, если необходимо. См. ПолучитьНастройкиTls |
|
||||
|
||||
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - Результат выполнения запроса
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Параметры запроса указываются как массив структур вида `{'Тип данных': 'Значение'}`. Список доступных типов описан на начальной странице документации библиотеки MySQL
|
||||
|
||||
Без указания флага `ФорсироватьРезультат`, чтение результата осуществляется только для запросов, начинающихся с `SELECT` Для остальных запросов возвращается `result:true` или `false` с текстом ошибки
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
Картинка = "https://api.athenaeum.digital/test_data/picture.jpg";
|
||||
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Картинка); // Картинка - Тип: ДвоичныеДанные
|
||||
|
||||
Адрес = "127.0.0.1";
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = "12we...";
|
||||
База = "test_data";
|
||||
|
||||
СтрокаПодключения = OPI_MySQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
Соединение = OPI_MySQL.ОткрытьСоединение(СтрокаПодключения);
|
||||
|
||||
// CREATE
|
||||
|
||||
ТекстЗапроса = "
|
||||
|CREATE TABLE test_table (
|
||||
|id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
|name VARCHAR(255),
|
||||
|age INT,
|
||||
|salary DOUBLE,
|
||||
|amount FLOAT,
|
||||
|type TINYINT UNSIGNED,
|
||||
|date DATE,
|
||||
|time TIME,
|
||||
|data BLOB
|
||||
|);";
|
||||
|
||||
Результат = OPI_MySQL.ВыполнитьЗапросSQL(ТекстЗапроса, , , Соединение);
|
||||
|
||||
// INSERT с параметрами
|
||||
|
||||
ТекстЗапроса = "
|
||||
|INSERT INTO test_table (name, age, salary, amount, type, date, time, data)
|
||||
|VALUES (?, ?, ?, ?, ?, ?, ?, ?);";
|
||||
|
||||
МассивПараметров = Новый Массив;
|
||||
МассивПараметров.Добавить(Новый Структура("TEXT" , "Vitaly"));
|
||||
МассивПараметров.Добавить(Новый Структура("INT" , 25));
|
||||
МассивПараметров.Добавить(Новый Структура("DOUBLE", 1000.12));
|
||||
МассивПараметров.Добавить(Новый Структура("FLOAT" , 1000.12));
|
||||
МассивПараметров.Добавить(Новый Структура("UINT" , 1));
|
||||
МассивПараметров.Добавить(Новый Структура("DATE" , OPI_Инструменты.ПолучитьТекущуюДату()));
|
||||
МассивПараметров.Добавить(Новый Структура("TIME" , OPI_Инструменты.ПолучитьТекущуюДату()));
|
||||
МассивПараметров.Добавить(Новый Структура("BYTES" , Картинка));
|
||||
|
||||
Результат = OPI_MySQL.ВыполнитьЗапросSQL(ТекстЗапроса, МассивПараметров, , Соединение);
|
||||
|
||||
// SELECT (Результат этого запроса приведен в следующем блоке)
|
||||
|
||||
ТекстЗапроса = "SELECT name, age, salary, amount, type, date, time, data FROM test_table;";
|
||||
|
||||
Результат = OPI_MySQL.ВыполнитьЗапросSQL(ТекстЗапроса, , , Соединение);
|
||||
|
||||
Закрытие = OPI_MySQL.ЗакрытьСоединение(Соединение);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
43
docs/ru/md/MySQL/Common-methods/Generate-connection-string.mdx
vendored
Normal file
43
docs/ru/md/MySQL/Common-methods/Generate-connection-string.mdx
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
---
|
||||
sidebar_position: 5
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Сформировать строку подключения
|
||||
Формирует строку подключения из переданных данных
|
||||
|
||||
|
||||
|
||||
`Функция СформироватьСтрокуПодключения(Знач Адрес, Знач База, Знач Логин, Знач Пароль = "", Знач Порт = "3306") Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Адрес | --addr | Строка | ✔ | IP адрес или доменное имя сервера |
|
||||
| База | --db | Строка | ✔ | Имя базы данных для подключения |
|
||||
| Логин | --login | Строка | ✔ | Логин пользователя mysql |
|
||||
| Пароль | --pass | Строка | ✖ | Пароль пользователя mysql |
|
||||
| Порт | --port | Строка | ✖ | Порт подключения |
|
||||
|
||||
|
||||
Возвращаемое значение: Строка - Строка подключения к базе MySQL
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
Адрес = "127.0.0.1";
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = "12we...";
|
||||
База = "";
|
||||
|
||||
Результат = OPI_MySQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
41
docs/ru/md/MySQL/Common-methods/Get-tls-settings.mdx
vendored
Normal file
41
docs/ru/md/MySQL/Common-methods/Get-tls-settings.mdx
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
sidebar_position: 6
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Получить настройки TLS
|
||||
Формирует настройки для использования TLS при выполнении запросов
|
||||
|
||||
|
||||
|
||||
`Функция ПолучитьНастройкиTls(Знач ОтключитьПроверкуСертификатов, Знач ПутьКСертификату = "") Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| ОтключитьПроверкуСертификатов | --trust | Булево | ✔ | Позволяет работать с некорретными сертификатами, в т.ч. самоподписанными |
|
||||
| ПутьКСертификату | --cert | Строка | ✖ | Путь к корневому PEM файлу сертификата, если его нет в системном хранилище |
|
||||
|
||||
|
||||
Возвращаемое значение: Структура Из КлючИЗначение - Структура настроек TLS соединения
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Настройки Tls могут быть установлены только в момент создания соединения: явного, при использовании функции `ОткрытьСоединение` или неявного, при передаче строки подключения в методы ORM.
|
||||
|
||||
Передача настроек Tls совместно с передачей уже созданного соединения в параметр `Соединение` будет проигнорирована
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
49
docs/ru/md/MySQL/Common-methods/Is-connector.mdx
vendored
Normal file
49
docs/ru/md/MySQL/Common-methods/Is-connector.mdx
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Это коннектор
|
||||
Проверяет, что значение является объектом внешней компоненты MySQL
|
||||
|
||||
|
||||
|
||||
`Функция ЭтоКоннектор(Знач Значение) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Значение | - | Произвольный | ✔ | Значение для проверки |
|
||||
|
||||
|
||||
Возвращаемое значение: Булево - Это коннектор
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
:::caution
|
||||
**NOCLI:** данный метод недоступен для использования в CLI версии
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
Адрес = "127.0.0.1";
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = "12we...";
|
||||
База = "";
|
||||
|
||||
СтрокаПодключения = OPI_MySQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||
|
||||
Соединение = OPI_MySQL.ОткрытьСоединение(СтрокаПодключения);
|
||||
Результат = OPI_MySQL.ЭтоКоннектор(Соединение);
|
||||
|
||||
OPI_MySQL.ЗакрытьСоединение(Результат);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
4
docs/ru/md/MySQL/Common-methods/_category_.json
vendored
Normal file
4
docs/ru/md/MySQL/Common-methods/_category_.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"label": "Основные методы",
|
||||
"position": "2"
|
||||
}
|
||||
44
docs/ru/md/MySQL/Orm/Add-records.mdx
vendored
Normal file
44
docs/ru/md/MySQL/Orm/Add-records.mdx
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
---
|
||||
sidebar_position: 6
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Добавить записи
|
||||
Добавляет записи в таблицу
|
||||
|
||||
|
||||
|
||||
`Функция ДобавитьЗаписи(Знач Таблица, Знач МассивДанных, Знач Транзакция = Истина, Знач Соединение = "", Знач Tls = "") Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Таблица | --table | Строка | ✔ | Имя таблицы |
|
||||
| МассивДанных | --rows | Массив Из Структура | ✔ | Массив структур данных строк: Ключ > поле, Значение > значение поля |
|
||||
| Транзакция | --trn | Булево | ✖ | Истина > добавление записей в транзакции с откатом при ошибке |
|
||||
| Соединение | --dbc | Строка, Произвольный | ✖ | Соединение или строка подключения |
|
||||
| Tls | --tls | Структура Из КлючИЗначение | ✖ | Настройки TLS, если необходимо. См. ПолучитьНастройкиTls |
|
||||
|
||||
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - Результат выполнения запроса
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Данные записей указываются как массив структур вида:<br/>`{'Имя поля 1': {'Тип данных': 'Значение'}, 'Имя поля 2': {'Тип данных': 'Значение'},...}`
|
||||
|
||||
Список доступных типов описан на начальной странице документации библиотеки MySQL
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
36
docs/ru/md/MySQL/Orm/Clear-table.mdx
vendored
Normal file
36
docs/ru/md/MySQL/Orm/Clear-table.mdx
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
---
|
||||
sidebar_position: 4
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Очистить таблицу
|
||||
Очищает таблицу базы
|
||||
|
||||
|
||||
|
||||
`Функция ОчиститьТаблицу(Знач Таблица, Знач Соединение = "", Знач Tls = "") Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Таблица | --table | Строка | ✔ | Имя таблицы |
|
||||
| Соединение | --dbc | Строка, Произвольный | ✖ | Соединение или строка подключения |
|
||||
| Tls | --tls | Структура Из КлючИЗначение | ✖ | Настройки TLS, если необходимо. См. ПолучитьНастройкиTls |
|
||||
|
||||
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - Результат выполнения запроса
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
36
docs/ru/md/MySQL/Orm/Create-database.mdx
vendored
Normal file
36
docs/ru/md/MySQL/Orm/Create-database.mdx
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Создать базу данных
|
||||
Создает базу данных с указанным именем
|
||||
|
||||
|
||||
|
||||
`Функция СоздатьБазуДанных(Знач База, Знач Соединение = "", Знач Tls = "") Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| База | --base | Строка | ✔ | Имя базы |
|
||||
| Соединение | --dbc | Строка, Произвольный | ✖ | Соединение или строка подключения |
|
||||
| Tls | --tls | Структура Из КлючИЗначение | ✖ | Настройки TLS, если необходимо. См. ПолучитьНастройкиTls |
|
||||
|
||||
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - Результат выполнения запроса
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
41
docs/ru/md/MySQL/Orm/Create-table.mdx
vendored
Normal file
41
docs/ru/md/MySQL/Orm/Create-table.mdx
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Создать таблицу
|
||||
Создает пустую таблицу в базе
|
||||
|
||||
|
||||
|
||||
`Функция СоздатьТаблицу(Знач Таблица, Знач СтруктураКолонок, Знач Соединение = "", Знач Tls = "") Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Таблица | --table | Строка | ✔ | Имя таблицы |
|
||||
| СтруктураКолонок | --cols | Структура Из КлючИЗначение | ✔ | Структура колонок: Ключ > имя, Значение > Тип данных |
|
||||
| Соединение | --dbc | Строка, Произвольный | ✖ | Соединение или строка подключения |
|
||||
| Tls | --tls | Структура Из КлючИЗначение | ✖ | Настройки TLS, если необходимо. См. ПолучитьНастройкиTls |
|
||||
|
||||
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - Результат выполнения запроса
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Список доступных типов описан на начальной странице документации библиотеки MySQL
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
36
docs/ru/md/MySQL/Orm/Delete-database.mdx
vendored
Normal file
36
docs/ru/md/MySQL/Orm/Delete-database.mdx
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Удалить базу данных
|
||||
Удаляет базу данных
|
||||
|
||||
|
||||
|
||||
`Функция УдалитьБазуДанных(Знач База, Знач Соединение = "", Знач Tls = "") Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| База | --base | Строка | ✔ | Имя базы |
|
||||
| Соединение | --dbc | Строка, Произвольный | ✖ | Соединение или строка подключения |
|
||||
| Tls | --tls | Структура Из КлючИЗначение | ✖ | Настройки TLS, если необходимо. См. ПолучитьНастройкиTls |
|
||||
|
||||
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - Результат выполнения запроса
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
37
docs/ru/md/MySQL/Orm/Delete-records.mdx
vendored
Normal file
37
docs/ru/md/MySQL/Orm/Delete-records.mdx
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
---
|
||||
sidebar_position: 9
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Удалить записи
|
||||
Удаляет записи из таблицы
|
||||
|
||||
|
||||
|
||||
`Функция УдалитьЗаписи(Знач Таблица, Знач Фильтры = "", Знач Соединение = "", Знач Tls = "") Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Таблица | --table | Строка | ✔ | Имя таблицы |
|
||||
| Фильтры | --filter | Массив Из Структура | ✖ | Массив фильтров. См. ПолучитьСтруктуруФильтраЗаписей |
|
||||
| Соединение | --dbc | Строка, Произвольный | ✖ | Соединение или строка подключения |
|
||||
| Tls | --tls | Структура Из КлючИЗначение | ✖ | Настройки TLS, если необходимо. См. ПолучитьНастройкиTls |
|
||||
|
||||
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - Результат выполнения запроса
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
36
docs/ru/md/MySQL/Orm/Delete-table.mdx
vendored
Normal file
36
docs/ru/md/MySQL/Orm/Delete-table.mdx
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
---
|
||||
sidebar_position: 5
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Удалить таблицу
|
||||
Удаляет таблицу из базы
|
||||
|
||||
|
||||
|
||||
`Функция УдалитьТаблицу(Знач Таблица, Знач Соединение = "", Знач Tls = "") Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Таблица | --table | Строка | ✔ | Имя таблицы |
|
||||
| Соединение | --dbc | Строка, Произвольный | ✖ | Соединение или строка подключения |
|
||||
| Tls | --tls | Структура Из КлючИЗначение | ✖ | Настройки TLS, если необходимо. См. ПолучитьНастройкиTls |
|
||||
|
||||
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - Результат выполнения запроса
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
38
docs/ru/md/MySQL/Orm/Get-records-filter-strucutre.mdx
vendored
Normal file
38
docs/ru/md/MySQL/Orm/Get-records-filter-strucutre.mdx
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
---
|
||||
sidebar_position: 10
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Получить структуру фильтра записей
|
||||
Получает структуру шаблон для фильтрации записей в запросах ORM
|
||||
|
||||
|
||||
|
||||
`Функция ПолучитьСтруктуруФильтраЗаписей(Знач Пустая = Ложь) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Пустая | --empty | Булево | ✖ | Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей |
|
||||
|
||||
|
||||
Возвращаемое значение: Структура Из КлючИЗначение - Элемент фильтра записей
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Использование признака `raw` необходимо для составных конструкций, вроде `BEETWEEN`. Например: при `raw:false` фильтр `type:BETWEEN` `value:10 AND 20` будет интерпритирован как `BETWEEN ?1 ` где `?1 = "10 AND 20"`, что приведет к ошибке. В таком случае необходимо использовать `raw:true` для установки условия напрямую в текст запроса
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
40
docs/ru/md/MySQL/Orm/Get-records.mdx
vendored
Normal file
40
docs/ru/md/MySQL/Orm/Get-records.mdx
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
---
|
||||
sidebar_position: 7
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Получить записи
|
||||
Получает записи из выбранной таблицы
|
||||
|
||||
|
||||
|
||||
`Функция ПолучитьЗаписи(Знач Таблица, Знач Поля = "*", Знач Фильтры = "", Знач Сортировка = "", Знач Количество = "", Знач Соединение = "", Знач Tls = "") Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Таблица | --table | Строка | ✔ | Имя таблицы |
|
||||
| Поля | --fields | Массив Из Строка | ✖ | Поля для выборки |
|
||||
| Фильтры | --filter | Массив Из Структура | ✖ | Массив фильтров. См. ПолучитьСтруктуруФильтраЗаписей |
|
||||
| Сортировка | --order | Структура Из КлючИЗначение | ✖ | Сортировка: Ключ > поле, Значение > направление (ASC, DESC) |
|
||||
| Количество | --limit | Число | ✖ | Ограничение количества получаемых строк |
|
||||
| Соединение | --dbc | Строка, Произвольный | ✖ | Соединение или строка подключения |
|
||||
| Tls | --tls | Структура Из КлючИЗначение | ✖ | Настройки TLS, если необходимо. См. ПолучитьНастройкиTls |
|
||||
|
||||
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - Результат выполнения запроса
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
44
docs/ru/md/MySQL/Orm/Update-records.mdx
vendored
Normal file
44
docs/ru/md/MySQL/Orm/Update-records.mdx
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
---
|
||||
sidebar_position: 8
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Обновить записи
|
||||
Обновляет значение записей по выбранным критериям
|
||||
|
||||
|
||||
|
||||
`Функция ОбновитьЗаписи(Знач Таблица, Знач СтруктураЗначений, Знач Фильтры = "", Знач Соединение = "", Знач Tls = "") Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Таблица | --table | Строка | ✔ | Имя таблицы |
|
||||
| СтруктураЗначений | --values | Структура Из КлючИЗначение | ✔ | Структура значений: Ключ > поле, Значение > значение поля |
|
||||
| Фильтры | --filter | Массив Из Структура | ✖ | Массив фильтров. См. ПолучитьСтруктуруФильтраЗаписей |
|
||||
| Соединение | --dbc | Строка, Произвольный | ✖ | Соединение или строка подключения |
|
||||
| Tls | --tls | Структура Из КлючИЗначение | ✖ | Настройки TLS, если необходимо. См. ПолучитьНастройкиTls |
|
||||
|
||||
|
||||
Возвращаемое значение: Соответствие Из КлючИЗначение - Результат выполнения запроса
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Данные записей указываются как массив структур вида:<br/>`{'Имя поля 1': {'Тип данных': 'Значение'}, 'Имя поля 2': {'Тип данных': 'Значение'},...}`
|
||||
|
||||
Список доступных типов описан на начальной странице документации библиотеки MySQL
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
4
docs/ru/md/MySQL/Orm/_category_.json
vendored
Normal file
4
docs/ru/md/MySQL/Orm/_category_.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"label": "ORM",
|
||||
"position": "3"
|
||||
}
|
||||
13578
service/dictionaries/en.json
vendored
13578
service/dictionaries/en.json
vendored
File diff suppressed because it is too large
Load Diff
582
src/en/OInt/core/Modules/OPI_MySQL.os
vendored
Normal file
582
src/en/OInt/core/Modules/OPI_MySQL.os
vendored
Normal file
@@ -0,0 +1,582 @@
|
||||
// OneScript: ./OInt/core/Modules/OPI_MySQL.os
|
||||
// Lib: MySQL
|
||||
// CLI: mysql
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:LineLength-off
|
||||
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check method-too-many-params
|
||||
//@skip-check constructor-function-return-section
|
||||
//@skip-check doc-comment-collection-item-type
|
||||
|
||||
// Uncomment if OneScript is executed
|
||||
#Use "../../tools"
|
||||
|
||||
#Region Public
|
||||
|
||||
#Region CommonMethods
|
||||
|
||||
// Create Connection !NOCLI
|
||||
// Creates a connection to the specified base
|
||||
//
|
||||
// Parameters:
|
||||
// ConnectionString - String - Connection string. See GenerateConnectionString - sting
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
// Arbitrary - Connector object or structure with error information
|
||||
Function CreateConnection(Val ConnectionString = "", Val Tls = "") Export
|
||||
|
||||
If IsConnector(ConnectionString) Then
|
||||
Return ConnectionString;
|
||||
EndIf;
|
||||
|
||||
OPI_TypeConversion.GetLine(ConnectionString);
|
||||
OPI_Tools.RestoreEscapeSequences(ConnectionString);
|
||||
|
||||
Connector = OPI_AddIns.GetAddIn("MySQL");
|
||||
|
||||
Connector.ConnectionString = ConnectionString;
|
||||
|
||||
Result = Connector.Connect();
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
|
||||
Return ?(Result["result"], Connector, Result);
|
||||
|
||||
EndFunction
|
||||
|
||||
// Close connection !NOCLI
|
||||
// Explicitly closes the passed connection
|
||||
//
|
||||
// Parameters:
|
||||
// Connection - Arbitrary - AddIn object with open connection - dbc
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue - Result of connection termination
|
||||
Function CloseConnection(Val Connection) Export
|
||||
|
||||
If IsConnector(Connection) Then
|
||||
|
||||
Result = Connection.Close();
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
|
||||
Else
|
||||
|
||||
Result = New Structure("result,error", False, "It's not a connection");
|
||||
|
||||
EndIf;
|
||||
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Is connector !NOCLI
|
||||
// Checks that the value is an object of an MySQL AddIn
|
||||
//
|
||||
// Parameters:
|
||||
// Value - Arbitrary - Value to check - value
|
||||
//
|
||||
// Returns:
|
||||
// Boolean - Is connector
|
||||
Function IsConnector(Val Value) Export
|
||||
|
||||
Return String(TypeOf(Value)) = "AddIn.OPI_MySQL.Main";
|
||||
|
||||
EndFunction
|
||||
|
||||
// Execute SQL query
|
||||
// Executes an arbitrary SQL query
|
||||
//
|
||||
// Note
|
||||
// Query parameters are specified as an array of structures of the following type: `{'Type': 'Value'}`.^^
|
||||
// The list of available types is described on the initial page of the MySQL library documentation
|
||||
// Without specifying the `ForcifyResult` flag, result data is returned only for queries beginning with `SELECT` keyword^^
|
||||
// For other queries, `result:true` or `false` with error text is returned
|
||||
//
|
||||
// Parameters:
|
||||
// QueryText - String - Database query text - sql
|
||||
// Parameters - Array Of Arbitrary - Array of positional parameters of the request - params
|
||||
// ForceResult - Boolean - Includes an attempt to retrieve the result, even for nonSELECT queries - force
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function ExecuteSQLQuery(Val QueryText
|
||||
, Val Parameters = ""
|
||||
, Val ForceResult = False
|
||||
, Val Connection = ""
|
||||
, Val Tls = "") Export
|
||||
|
||||
OPI_TypeConversion.GetLine(QueryText, True);
|
||||
OPI_TypeConversion.GetBoolean(ForceResult);
|
||||
|
||||
Parameters_ = ProcessParameters(Parameters);
|
||||
|
||||
If IsConnector(Connection) Then
|
||||
CloseConnection = False;
|
||||
Connector = Connection;
|
||||
Else
|
||||
CloseConnection = True;
|
||||
Connector = CreateConnection(Connection, Tls);
|
||||
EndIf;
|
||||
|
||||
If Not IsConnector(Connector) Then
|
||||
Return Connector;
|
||||
EndIf;
|
||||
|
||||
Result = Connector.Execute(QueryText, Parameters_, ForceResult);
|
||||
|
||||
If CloseConnection Then
|
||||
CloseConnection(Connector);
|
||||
EndIf;
|
||||
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Generate connection string
|
||||
// Forms a connection string from the passed data
|
||||
//
|
||||
// Parameters:
|
||||
// Address - String - IP address or domain name of the server - addr
|
||||
// Base - String - Name of the database to connect - db
|
||||
// Login - String - MySQL user - login
|
||||
// Password - String - MySQL password - pass
|
||||
// Port - String - Connection port - port
|
||||
//
|
||||
// Returns:
|
||||
// String - MySQL database connection string
|
||||
Function GenerateConnectionString(Val Address, Val Base, Val Login, Val Password = "", Val Port = "3306") Export
|
||||
|
||||
OPI_TypeConversion.GetLine(Address);
|
||||
OPI_TypeConversion.GetLine(Login);
|
||||
OPI_TypeConversion.GetLine(Base);
|
||||
OPI_TypeConversion.GetLine(Port);
|
||||
OPI_TypeConversion.GetLine(Password);
|
||||
|
||||
Port = ?(ValueIsFilled(Port), ":" + Port, Port);
|
||||
Password = ?(ValueIsFilled(Password), ":" + Password, Password);
|
||||
|
||||
StringTemplate = "mysql://%1%2@%3%4/%5";
|
||||
ConnectionString = StrTemplate(StringTemplate, Login, Password, Address, Port, Base);
|
||||
|
||||
Return ConnectionString;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get TLS Settings
|
||||
// Forms settings for using TLS
|
||||
//
|
||||
// Note
|
||||
// Tls settings can only be set when a connection is created: explicitly, by using the `OpenConnection` function^^
|
||||
// or implicit, when passing the connection string to ORM methods.
|
||||
// Passing Tls settings together with passing an already created connection to the `Connection` parameter will be ignored
|
||||
//
|
||||
// Parameters:
|
||||
// DisableCertVerification - Boolean - Allows to work with invalid certificates, including self signed - trust
|
||||
// CertFilepath - String - Path to the root PEM file of the certificate if it is not in the system repository - cert
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue - Structure of TLS connection settings
|
||||
Function GetTlsSettings(Val DisableCertVerification, Val CertFilepath = "") Export
|
||||
|
||||
Return OPI_AddIns.GetTlsSettings(DisableCertVerification, CertFilepath);
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region ORM
|
||||
|
||||
// Create database
|
||||
// Creates a database with the specified name
|
||||
//
|
||||
// Parameters:
|
||||
// Base - String - Database name - base
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function CreateDatabase(Val Base, Val Connection = "", Val Tls = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.CreateDatabase(OPI_MySQL, Base, Connection, Tls);
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Drop database
|
||||
// Deletes the database
|
||||
//
|
||||
// Parameters:
|
||||
// Base - String - Database name - base
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function DeleteDatabase(Val Base, Val Connection = "", Val Tls = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.DeleteDatabase(OPI_MySQL, Base, Connection, Tls);
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Create table
|
||||
// Creates an empty table in the database
|
||||
//
|
||||
// Note
|
||||
// The list of available types is described on the initial page of the MySQL library documentation
|
||||
//
|
||||
// Parameters:
|
||||
// Table - String - Table name - table
|
||||
// ColoumnsStruct - Structure Of KeyAndValue - Column structure: Key > Name, Value > Data type - cols
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function CreateTable(Val Table, Val ColoumnsStruct, Val Connection = "", Val Tls = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.CreateTable(OPI_MySQL, Table, ColoumnsStruct, Connection, Tls);
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Clear table
|
||||
// Clears the database table
|
||||
//
|
||||
// Parameters:
|
||||
// Table - String - Table name - table
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function ClearTable(Val Table, Val Connection = "", Val Tls = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.DeleteRecords(OPI_MySQL, Table, , Connection, Tls);
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Delete table
|
||||
// Deletes a table from the database
|
||||
//
|
||||
// Parameters:
|
||||
// Table - String - Table name - table
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function DeleteTable(Val Table, Val Connection = "", Val Tls = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.DeleteTable(OPI_MySQL, Table, Connection, Tls);
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Add rows
|
||||
// Adds new rows to the table
|
||||
//
|
||||
// Note
|
||||
// Record data is specified as an array of structures of the following type:^
|
||||
// `{'Field name 1': {'Type': 'Value'}, 'Field name 2': {'Type': 'Value'},...}`
|
||||
// The list of available types is described on the initial page of the MySQL library documentation
|
||||
//
|
||||
// Parameters:
|
||||
// Table - String - Table name - table
|
||||
// DataArray - Array of Structure - An array of string data structures: Key > field, Value > field value - rows
|
||||
// Transaction - Boolean - True > adding records to transactions with rollback on error - trn
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function AddRecords(Val Table, Val DataArray, Val Transaction = True, Val Connection = "", Val Tls = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.AddRecords(OPI_MySQL, Table, DataArray, Transaction, Connection, Tls);
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get records
|
||||
// Gets records from the selected table
|
||||
//
|
||||
// Parameters:
|
||||
// Table - String - Table name - table
|
||||
// Fields - Array Of String - Fields for selection - fields
|
||||
// Filters - Array of Structure - Filters array. See GetRecordsFilterStrucutre - filter
|
||||
// Sort - Structure Of KeyAndValue - Sorting: Key > field name, Value > direction (ASC, DESC) - order
|
||||
// Count - Number - Limiting the number of received strings - limit
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function GetRecords(Val Table
|
||||
, Val Fields = "*"
|
||||
, Val Filters = ""
|
||||
, Val Sort = ""
|
||||
, Val Count = ""
|
||||
, Val Connection = ""
|
||||
, Val Tls = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.GetRecords(OPI_MySQL
|
||||
, Table
|
||||
, Fields
|
||||
, Filters
|
||||
, Sort
|
||||
, Count
|
||||
, Connection
|
||||
, Tls);
|
||||
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Update records
|
||||
// Updates the value of records by selected criteria
|
||||
//
|
||||
// Note
|
||||
// Record data is specified as an array of structures of the following type:^
|
||||
// `{'Field name 1': {'Type': 'Value'}, 'Field name 2': {'Type': 'Value'},...}`
|
||||
// The list of available types is described on the initial page of the MySQL library documentation
|
||||
//
|
||||
// Parameters:
|
||||
// Table - String - Table name - table
|
||||
// ValueStructure - Structure Of KeyAndValue - Values structure: Key > field, Value > field value - values
|
||||
// Filters - Array of Structure - Filters array. See GetRecordsFilterStrucutre - filter
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function UpdateRecords(Val Table
|
||||
, Val ValueStructure
|
||||
, Val Filters = ""
|
||||
, Val Connection = ""
|
||||
, Val Tls = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.UpdateRecords(OPI_MySQL, Table, ValueStructure, Filters, Connection, Tls);
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Delete records
|
||||
// Deletes records from the table
|
||||
//
|
||||
// Parameters:
|
||||
// Table - String - Table name - table
|
||||
// Filters - Array of Structure - Filters array. See GetRecordsFilterStrucutre - filter
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function DeleteRecords(Val Table, Val Filters = "", Val Connection = "", Val Tls = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.DeleteRecords(OPI_MySQL, Table, Filters, Connection, Tls);
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get records filter strucutre
|
||||
// Gets the template structure for filtering records in ORM queries
|
||||
//
|
||||
// Note
|
||||
// The use of the `raw` feature is necessary for compound constructions like `BEETWEEN`.^^
|
||||
// For example: with `raw:false` the filter `type:BETWEEN` `value:10 AND 20` will be interpolated as `BETWEEN ?1 `^^
|
||||
// where `?1 = "10 AND 20,"' which would cause an error.
|
||||
// In such a case, you must use `raw:true` to set the condition directly in the query text
|
||||
//
|
||||
// Parameters:
|
||||
// Clear - Boolean - True > structure with empty valuse, False > field descriptions at values - empty
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue - Record filter element
|
||||
Function GetRecordsFilterStrucutre(Val Clear = False) Export
|
||||
|
||||
Return OPI_SQLQueries.GetRecordsFilterStrucutre(Clear);
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region Internal
|
||||
|
||||
Function GetFeatures() Export
|
||||
|
||||
Features = New Map;
|
||||
Features.Insert("ParameterNumeration", False);
|
||||
Features.Insert("ParameterMarker" , "?");
|
||||
|
||||
Return Features;
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region Private
|
||||
|
||||
Function ProcessParameters(Val Parameters)
|
||||
|
||||
If Not ValueIsFilled(Parameters) Then
|
||||
Return "[]";
|
||||
EndIf;
|
||||
|
||||
OPI_TypeConversion.GetArray(Parameters);
|
||||
|
||||
For N = 0 To Parameters.UBound() Do
|
||||
|
||||
CurrentParameter = Parameters[N];
|
||||
|
||||
CurrentParameter = ProcessParameter(CurrentParameter);
|
||||
|
||||
Parameters[N] = CurrentParameter;
|
||||
|
||||
EndDo;
|
||||
|
||||
Parameters_ = OPI_Tools.JSONString(Parameters, , False);
|
||||
|
||||
If StrStartsWith(Parameters_, "NOT JSON") Then
|
||||
Raise "JSON parameter array validation error!";
|
||||
EndIf;
|
||||
|
||||
Return Parameters_;
|
||||
|
||||
EndFunction
|
||||
|
||||
Function ProcessParameter(CurrentParameter, AsObject = True)
|
||||
|
||||
CurrentType = TypeOf(CurrentParameter);
|
||||
CurrentKey = "";
|
||||
|
||||
If CurrentType = Type("BinaryData") Then
|
||||
|
||||
CurrentParameter = Base64String(CurrentParameter);
|
||||
CurrentKey = "BYTES";
|
||||
|
||||
ElsIf CurrentType = Type("UUID") Then
|
||||
|
||||
CurrentParameter = String(CurrentParameter);
|
||||
CurrentKey = "TEXT";
|
||||
|
||||
ElsIf CurrentType = Type("Boolean") Then
|
||||
|
||||
CurrentParameter = ?(CurrentParameter, 1, 0);
|
||||
CurrentKey = "INT";
|
||||
|
||||
ElsIf CurrentType = Type("Number") Then
|
||||
|
||||
CurrentKey = "DOUBLE";
|
||||
|
||||
ElsIf CurrentType = Type("Date") Then
|
||||
|
||||
CurrentParameter = OPI_Tools.DateRFC3339(CurrentParameter);
|
||||
CurrentKey = "DATE";
|
||||
|
||||
Else
|
||||
|
||||
If CurrentType = Type("Structure") Or CurrentType = Type("Map") Then
|
||||
|
||||
If OPI_Tools.CollectionFieldExist(CurrentParameter, "BYTES") Then
|
||||
|
||||
CurrentParameter = ProcessBlobStructure(CurrentParameter);
|
||||
CurrentKey = "BYTES";
|
||||
|
||||
Else
|
||||
|
||||
For Each ParamElement In CurrentParameter Do
|
||||
|
||||
CurrentKey = Upper(ParamElement.Key);
|
||||
CurrentValue = ParamElement.Value;
|
||||
|
||||
CurrentParameter = ProcessParameter(CurrentValue, False);
|
||||
|
||||
Break;
|
||||
|
||||
EndDo;
|
||||
|
||||
EndIf;
|
||||
|
||||
Else
|
||||
|
||||
OPI_TypeConversion.GetLine(CurrentParameter);
|
||||
CurrentKey = "TEXT";
|
||||
|
||||
EndIf;
|
||||
|
||||
EndIf;
|
||||
|
||||
If AsObject Then
|
||||
CurrentParameter = New Structure(CurrentKey, CurrentParameter);
|
||||
EndIf;
|
||||
|
||||
Return CurrentParameter;
|
||||
|
||||
EndFunction
|
||||
|
||||
Function ProcessBlobStructure(Val Value)
|
||||
|
||||
Bytea_ = "BYTES";
|
||||
|
||||
DataValue = Value[Bytea_];
|
||||
|
||||
If TypeOf(DataValue) = Type("BinaryData") Then
|
||||
Value = Base64String(DataValue);
|
||||
Else
|
||||
|
||||
DataFile = New File(String(DataValue));
|
||||
|
||||
If DataFile.Exist() Then
|
||||
|
||||
CurrentData = New BinaryData(String(DataValue));
|
||||
Value = Base64String(CurrentData);
|
||||
|
||||
EndIf;
|
||||
|
||||
EndIf;
|
||||
|
||||
Return Value;
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
1
src/en/OInt/lib.config
vendored
1
src/en/OInt/lib.config
vendored
@@ -8,6 +8,7 @@
|
||||
<module name="OPI_GoogleSheets" file="core/Modules/OPI_GoogleSheets.os"/>
|
||||
<module name="OPI_GoogleWorkspace" file="core/Modules/OPI_GoogleWorkspace.os"/>
|
||||
<module name="OPI_GreenAPI" file="core/Modules/OPI_GreenAPI.os"/>
|
||||
<module name="OPI_MySQL" file="core/Modules/OPI_MySQL.os"/>
|
||||
<module name="OPI_Neocities" file="core/Modules/OPI_Neocities.os"/>
|
||||
<module name="OPI_Notion" file="core/Modules/OPI_Notion.os"/>
|
||||
<module name="OPI_Ozon" file="core/Modules/OPI_Ozon.os"/>
|
||||
|
||||
186
src/en/OInt/tests/Modules/internal/OPI_Tests.os
vendored
186
src/en/OInt/tests/Modules/internal/OPI_Tests.os
vendored
@@ -2386,6 +2386,26 @@ EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region MySQL
|
||||
|
||||
Procedure MYS_CommonMethods() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("PG_IP" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("PG_Password", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("SQL" , TestParameters);
|
||||
|
||||
MySQL_GenerateConnectionString(TestParameters);
|
||||
MySQL_CreateConnection(TestParameters);
|
||||
MySQL_CloseConnection(TestParameters);
|
||||
MySQL_IsConnector(TestParameters);
|
||||
MySQL_ExecuteSQLQuery(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region GreenAPI
|
||||
|
||||
Procedure GAPI_Account() Export
|
||||
@@ -18460,6 +18480,172 @@ EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region MySQL
|
||||
|
||||
Procedure MySQL_GenerateConnectionString(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["PG_IP"];
|
||||
Login = "bayselonarrend";
|
||||
Password = FunctionParameters["PG_Password"];
|
||||
Base = "";
|
||||
|
||||
Result = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
|
||||
// END
|
||||
|
||||
Result = StrReplace(Result, Password, "***");
|
||||
Result = StrReplace(Result, Address , "127.0.0.1");
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GenerateConnectionString", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_String(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure MySQL_CreateConnection(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["PG_IP"];
|
||||
Login = "bayselonarrend";
|
||||
Password = FunctionParameters["PG_Password"];
|
||||
Base = "";
|
||||
|
||||
ConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
Result = OPI_MySQL.CreateConnection(ConnectionString);
|
||||
|
||||
OPI_MySQL.CloseConnection(Result);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "CreateConnection", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_AddIn(Result, "AddIn.OPI_MySQL.Main");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure MySQL_CloseConnection(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["PG_IP"];
|
||||
Login = "bayselonarrend";
|
||||
Password = FunctionParameters["PG_Password"];
|
||||
Base = "";
|
||||
|
||||
ConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
Connection = OPI_MySQL.CreateConnection(ConnectionString);
|
||||
Result = OPI_MySQL.CloseConnection(Connection);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "CloseConnection", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure MySQL_IsConnector(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["PG_IP"];
|
||||
Login = "bayselonarrend";
|
||||
Password = FunctionParameters["PG_Password"];
|
||||
Base = "";
|
||||
|
||||
ConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
|
||||
Connection = OPI_MySQL.CreateConnection(ConnectionString);
|
||||
Result = OPI_MySQL.IsConnector(Connection);
|
||||
|
||||
OPI_MySQL.CloseConnection(Result);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "IsConnector", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_True(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure MySQL_ExecuteSQLQuery(FunctionParameters)
|
||||
|
||||
Image = FunctionParameters["Picture"];
|
||||
OPI_TypeConversion.GetBinaryData(Image); // Image - Type: BinaryData
|
||||
|
||||
Address = FunctionParameters["PG_IP"];
|
||||
Login = "bayselonarrend";
|
||||
Password = FunctionParameters["PG_Password"];
|
||||
Base = "test_data";
|
||||
|
||||
ConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
Connection = OPI_MySQL.CreateConnection(ConnectionString);
|
||||
|
||||
OPI_MySQL.DeleteTable("users" , Connection); // SKIP
|
||||
OPI_MySQL.DeleteTable("test_data", Connection); // SKIP
|
||||
Deletion = OPI_MySQL.DeleteTable("test_table", Connection); // SKIP
|
||||
OPI_TestDataRetrieval.WriteLog(Connection, "ExecuteSQLQuery (deleting 1)", "MySQL"); // SKIP
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Connection, "ExecuteSQLQuery (connect)", "MySQL"); // SKIP
|
||||
OPI_TestDataRetrieval.Check_AddIn(Connection, "AddIn.OPI_MySQL.Main"); // SKIP
|
||||
|
||||
// CREATE
|
||||
|
||||
QueryText = "
|
||||
|CREATE TABLE test_table (
|
||||
|id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
|name VARCHAR(255),
|
||||
|age INT,
|
||||
|salary DOUBLE,
|
||||
|amount FLOAT,
|
||||
|type TINYINT UNSIGNED,
|
||||
|date DATE,
|
||||
|time TIME,
|
||||
|data BLOB
|
||||
|);";
|
||||
|
||||
Result = OPI_MySQL.ExecuteSQLQuery(QueryText, , , Connection);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "ExecuteSQLQuery (Create)", "MySQL"); // SKIP
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result); // SKIP
|
||||
|
||||
// INSERT with parameters
|
||||
|
||||
QueryText = "
|
||||
|INSERT INTO test_table (name, age, salary, amount, type, date, time, data)
|
||||
|VALUES (?, ?, ?, ?, ?, ?, ?, ?);";
|
||||
|
||||
ParameterArray = New Array;
|
||||
ParameterArray.Add(New Structure("TEXT" , "Vitaly"));
|
||||
ParameterArray.Add(New Structure("INT" , 25));
|
||||
ParameterArray.Add(New Structure("DOUBLE", 1000.12));
|
||||
ParameterArray.Add(New Structure("FLOAT" , 1000.12));
|
||||
ParameterArray.Add(New Structure("UINT" , 1));
|
||||
ParameterArray.Add(New Structure("DATE" , OPI_Tools.GetCurrentDate()));
|
||||
ParameterArray.Add(New Structure("TIME" , OPI_Tools.GetCurrentDate()));
|
||||
ParameterArray.Add(New Structure("BYTES" , Image));
|
||||
|
||||
Result = OPI_MySQL.ExecuteSQLQuery(QueryText, ParameterArray, , Connection);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "ExecuteSQLQuery (Insert)", "MySQL"); // SKIP
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result); // SKIP
|
||||
|
||||
// SELECT (The result of this query is shown in the Result block)
|
||||
|
||||
QueryText = "SELECT name, age, salary, amount, type, date, time, data FROM test_table;";
|
||||
|
||||
Result = OPI_MySQL.ExecuteSQLQuery(QueryText, , , Connection);
|
||||
|
||||
Blob = Result["data"][0]["data"]["BYTES"]; // SKIP
|
||||
|
||||
Result["data"][0]["data"]["BYTES"] = "Base64"; // SKIP
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "ExecuteSQLQuery", "MySQL"); // SKIP
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result); // SKIP
|
||||
OPI_TestDataRetrieval.Check_Equality(Base64Value(Blob).Size(), Image.Size()); // SKIP
|
||||
|
||||
|
||||
Closing = OPI_MySQL.CloseConnection(Connection);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "CloseConnection (query)", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region GreenAPI
|
||||
|
||||
Procedure GreenAPI_FormAccessParameters(FunctionParameters)
|
||||
|
||||
22
src/en/OInt/tools/Modules/OPI_AddIns.os
vendored
22
src/en/OInt/tools/Modules/OPI_AddIns.os
vendored
@@ -57,9 +57,9 @@ Function GetAddIn(Val AddInName, Val Class = "Main") Export
|
||||
AddIn = AttachAddInOnServer(AddInName, Class, Error);
|
||||
|
||||
If ValueIsFilled(Error) Then
|
||||
Raise "Failed to initialize AddIn. "
|
||||
+ "It may not be compatible with your OS. Error: "
|
||||
+ Error;
|
||||
|
||||
FormAddInException(Error);
|
||||
|
||||
EndIf;
|
||||
|
||||
EndIf;
|
||||
@@ -163,4 +163,20 @@ Function AddInsFolderOS() Export
|
||||
|
||||
EndFunction
|
||||
|
||||
Procedure FormAddInException(Val Error)
|
||||
|
||||
If OPI_Tools.IsWindows() Then
|
||||
Text = "Failed to initialize AddIn. "
|
||||
+ "Error text "
|
||||
+ Error;
|
||||
Else
|
||||
Text = "Failed to initialize AddIn. Perhaps OpenSSL 3.x is missing. "
|
||||
+ "Error text "
|
||||
+ Error;
|
||||
EndIf;
|
||||
|
||||
Raise Text;
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
6
src/en/OInt/tools/Modules/OPI_SQLQueries.os
vendored
6
src/en/OInt/tools/Modules/OPI_SQLQueries.os
vendored
@@ -679,10 +679,10 @@ Function ExecuteSQLQuery(Val Module
|
||||
, Val Connection = ""
|
||||
, Val Tls = Undefined)
|
||||
|
||||
If Tls = Undefined Then
|
||||
Result = Module.ExecuteSQLQuery(QueryText, Parameters, ForceResult, Connection);
|
||||
Else
|
||||
If ValueIsFilled(Tls) Then
|
||||
Result = Module.ExecuteSQLQuery(QueryText, Parameters, ForceResult, Connection, Tls);
|
||||
Else
|
||||
Result = Module.ExecuteSQLQuery(QueryText, Parameters, ForceResult, Connection);
|
||||
EndIf;
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -55,6 +55,7 @@ Function GetTestingSectionMapping() Export
|
||||
Sections.Insert("Viber" , 5);
|
||||
Sections.Insert("Twitter" , 4);
|
||||
Sections.Insert("PostgreSQL" , 5);
|
||||
Sections.Insert("MySQL" , 5);
|
||||
Sections.Insert("SQLite" , 5);
|
||||
Sections.Insert("RCON" , 5);
|
||||
Sections.Insert("YandexDisk" , 5);
|
||||
@@ -91,6 +92,7 @@ Function GetTestingSectionMappingGA() Export
|
||||
Sections.Insert("Viber" , StandardDependencies);
|
||||
Sections.Insert("Twitter" , StandardDependencies);
|
||||
Sections.Insert("PostgreSQL" , StandardDependencies);
|
||||
Sections.Insert("MySQL" , StandardDependencies);
|
||||
Sections.Insert("SQLite" , StandardDependencies);
|
||||
Sections.Insert("RCON" , StandardDependencies);
|
||||
Sections.Insert("YandexDisk" , StandardDependencies);
|
||||
@@ -143,6 +145,7 @@ Function GetTestTable() Export
|
||||
Postgres = "PostgreSQL";
|
||||
GreenAPI = "GreenAPI";
|
||||
RCON = "RCON";
|
||||
MySQL = "MySQL";
|
||||
|
||||
TestTable = New ValueTable;
|
||||
TestTable.Columns.Add("Method");
|
||||
@@ -282,6 +285,7 @@ Function GetTestTable() Export
|
||||
NewTest(TestTable, "SQLL_ORM" , "ORM" , SQLite);
|
||||
NewTest(TestTable, "Postgres_CommonMethods" , "Common methods" , Postgres);
|
||||
NewTest(TestTable, "Postgres_ORM" , "ORM" , Postgres);
|
||||
NewTest(TestTable, "MYS_CommonMethods" , "Common methods" , MySQL);
|
||||
NewTest(TestTable, "GAPI_GroupManagement" , "Group management" , GreenAPI);
|
||||
NewTest(TestTable, "GAPI_MessageSending" , "Messages sending" , GreenAPI);
|
||||
NewTest(TestTable, "GAPI_NotificationsReceiving" , "Notifications receiving" , GreenAPI);
|
||||
@@ -1631,8 +1635,10 @@ Procedure Check_BitrixDeal(Val Result) Export
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_BitrixAttachment(Val Result) Export
|
||||
|
||||
ExpectsThat(Result["result"]).ИмеетТип("Map");
|
||||
ExpectsThat(Result["result"]["attachmentId"]).Заполнено();
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_BitrixAvailableActions(Val Result, Val Count) Export
|
||||
@@ -2044,7 +2050,9 @@ Procedure Check_YaMarketOk(Val Result) Export
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_MetrikaTags(Val Result) Export
|
||||
|
||||
ExpectsThat(Result["labels"]).ИмеетТип("Array");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_MetrikaTag(Val Result, Val Name = "") Export
|
||||
@@ -2059,19 +2067,27 @@ Procedure Check_MetrikaTag(Val Result, Val Name = "") Export
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_MetrikaSuccess(Val Result) Export
|
||||
|
||||
ExpectsThat(Result["success"]).Равно(True);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_MetrikaCounter(Val Result) Export
|
||||
|
||||
ExpectsThat(Result["counter"]).ИмеетТип("Map").Заполнено();
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_MetrikaCounters(Val Result) Export
|
||||
|
||||
ExpectsThat(Result["counters"]).ИмеетТип("Array").Заполнено();
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_MetrikaActions(Val Result) Export
|
||||
|
||||
ExpectsThat(Result["operations"]).ИмеетТип("Array");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_S3Success(Val Result) Export
|
||||
@@ -2096,23 +2112,33 @@ Procedure Check_S3NotImplemented(Val Result) Export
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_AddIn(Val Result, Val TypeName) Export
|
||||
|
||||
ExpectsThat(String(TypeOf(Result))).Равно(TypeName);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_Equality(Val Value1, Val Value2) Export
|
||||
|
||||
ExpectsThat(Value1).Равно(Value2);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_SQLiteSuccess(Val Result) Export
|
||||
|
||||
ExpectsThat(Result["result"]).Равно(True);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_SQLiteError(Val Result) Export
|
||||
|
||||
ExpectsThat(Result["result"]).Равно(False);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_SQLiteRows(Val Result, Val Count) Export
|
||||
|
||||
ExpectsThat(Result["rows"]).Равно(Count);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_SQLiteFieldsValues(Val Result, Val ValueStructure) Export
|
||||
@@ -2124,7 +2150,9 @@ Procedure Check_SQLiteFieldsValues(Val Result, Val ValueStructure) Export
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_SQLiteNoRows(Val Result) Export
|
||||
|
||||
ExpectsThat(Result["data"].Count()).Равно(0);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_ResultTrue(Val Result) Export
|
||||
@@ -2603,32 +2631,64 @@ EndProcedure
|
||||
|
||||
Procedure ProcessSpecialOptionsSecrets(Val Library, Val Option, Value)
|
||||
|
||||
If Library = "bitrix24"
|
||||
And Option = "url" Then
|
||||
If Library = "bitrix24" Then
|
||||
|
||||
ProcessSecretsBitrix24(Option, Value);
|
||||
|
||||
ElsIf Library = "postgres" Then
|
||||
|
||||
ProcessSecretsPostgreSQL(Option, Value);
|
||||
|
||||
ElsIf Library = "mysql" Then
|
||||
|
||||
ProcessSecretsMySQL(Option, Value);
|
||||
|
||||
Else
|
||||
Return;
|
||||
EndIf;
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure ProcessSecretsBitrix24(Val Option, Value)
|
||||
|
||||
If Option = "url" Then
|
||||
|
||||
Value = ?(StrFind(Value, "rest") > 0
|
||||
, "https://b24-ar17wx.bitrix24.by/rest/1/***"
|
||||
, Value);
|
||||
|
||||
Return;
|
||||
|
||||
EndIf;
|
||||
|
||||
If Library = "postgres" Then
|
||||
EndProcedure
|
||||
|
||||
If Option = "dbc" Then
|
||||
Procedure ProcessSecretsPostgreSQL(Val Option, Value)
|
||||
|
||||
Value = "postgresql://bayselonarrend:***@127.0.0.1:5432/";
|
||||
If Option = "dbc" Then
|
||||
|
||||
Else
|
||||
Value = "postgresql://bayselonarrend:***@127.0.0.1:5432/";
|
||||
|
||||
If Option = "addr" Then
|
||||
Value = "127.0.0.1";
|
||||
Return;
|
||||
EndIf;
|
||||
ElsIf Option = "addr" Then
|
||||
|
||||
EndIf;
|
||||
Value = "127.0.0.1";
|
||||
|
||||
Else
|
||||
Return;
|
||||
EndIf;
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure ProcessSecretsMySQL(Val Option, Value)
|
||||
|
||||
If Option = "dbc" Then
|
||||
|
||||
Value = "mysql://bayselonarrend:***@127.0.0.1:3306/";
|
||||
|
||||
ElsIf Option = "addr" Then
|
||||
|
||||
Value = "127.0.0.1";
|
||||
|
||||
Else
|
||||
Return;
|
||||
EndIf;
|
||||
|
||||
EndProcedure
|
||||
|
||||
@@ -57,9 +57,9 @@ Function GetAddIn(Val AddInName, Val Class = "Main") Export
|
||||
AddIn = AttachAddInOnServer(AddInName, Class, Error);
|
||||
|
||||
If ValueIsFilled(Error) Then
|
||||
Raise "Failed to initialize AddIn. "
|
||||
+ "It may not be compatible with your OS. Error: "
|
||||
+ Error;
|
||||
|
||||
FormAddInException(Error);
|
||||
|
||||
EndIf;
|
||||
|
||||
EndIf;
|
||||
@@ -163,4 +163,20 @@ Function AddInsFolderOS() Export
|
||||
|
||||
EndFunction
|
||||
|
||||
Procedure FormAddInException(Val Error)
|
||||
|
||||
If OPI_Tools.IsWindows() Then
|
||||
Text = "Failed to initialize AddIn. "
|
||||
+ "Error text "
|
||||
+ Error;
|
||||
Else
|
||||
Text = "Failed to initialize AddIn. Perhaps OpenSSL 3.x is missing. "
|
||||
+ "Error text "
|
||||
+ Error;
|
||||
EndIf;
|
||||
|
||||
Raise Text;
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
582
src/en/OPI/src/CommonModules/OPI_MySQL/Module.bsl
vendored
Normal file
582
src/en/OPI/src/CommonModules/OPI_MySQL/Module.bsl
vendored
Normal file
@@ -0,0 +1,582 @@
|
||||
// OneScript: ./OInt/core/Modules/OPI_MySQL.os
|
||||
// Lib: MySQL
|
||||
// CLI: mysql
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:LineLength-off
|
||||
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check method-too-many-params
|
||||
//@skip-check constructor-function-return-section
|
||||
//@skip-check doc-comment-collection-item-type
|
||||
|
||||
// Uncomment if OneScript is executed
|
||||
// #Use "../../tools"
|
||||
|
||||
#Region Public
|
||||
|
||||
#Region CommonMethods
|
||||
|
||||
// Create Connection !NOCLI
|
||||
// Creates a connection to the specified base
|
||||
//
|
||||
// Parameters:
|
||||
// ConnectionString - String - Connection string. See GenerateConnectionString - sting
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
// Arbitrary - Connector object or structure with error information
|
||||
Function CreateConnection(Val ConnectionString = "", Val Tls = "") Export
|
||||
|
||||
If IsConnector(ConnectionString) Then
|
||||
Return ConnectionString;
|
||||
EndIf;
|
||||
|
||||
OPI_TypeConversion.GetLine(ConnectionString);
|
||||
OPI_Tools.RestoreEscapeSequences(ConnectionString);
|
||||
|
||||
Connector = OPI_AddIns.GetAddIn("MySQL");
|
||||
|
||||
Connector.ConnectionString = ConnectionString;
|
||||
|
||||
Result = Connector.Connect();
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
|
||||
Return ?(Result["result"], Connector, Result);
|
||||
|
||||
EndFunction
|
||||
|
||||
// Close connection !NOCLI
|
||||
// Explicitly closes the passed connection
|
||||
//
|
||||
// Parameters:
|
||||
// Connection - Arbitrary - AddIn object with open connection - dbc
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue - Result of connection termination
|
||||
Function CloseConnection(Val Connection) Export
|
||||
|
||||
If IsConnector(Connection) Then
|
||||
|
||||
Result = Connection.Close();
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
|
||||
Else
|
||||
|
||||
Result = New Structure("result,error", False, "It's not a connection");
|
||||
|
||||
EndIf;
|
||||
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Is connector !NOCLI
|
||||
// Checks that the value is an object of an MySQL AddIn
|
||||
//
|
||||
// Parameters:
|
||||
// Value - Arbitrary - Value to check - value
|
||||
//
|
||||
// Returns:
|
||||
// Boolean - Is connector
|
||||
Function IsConnector(Val Value) Export
|
||||
|
||||
Return String(TypeOf(Value)) = "AddIn.OPI_MySQL.Main";
|
||||
|
||||
EndFunction
|
||||
|
||||
// Execute SQL query
|
||||
// Executes an arbitrary SQL query
|
||||
//
|
||||
// Note
|
||||
// Query parameters are specified as an array of structures of the following type: `{'Type': 'Value'}`.^^
|
||||
// The list of available types is described on the initial page of the MySQL library documentation
|
||||
// Without specifying the `ForcifyResult` flag, result data is returned only for queries beginning with `SELECT` keyword^^
|
||||
// For other queries, `result:true` or `false` with error text is returned
|
||||
//
|
||||
// Parameters:
|
||||
// QueryText - String - Database query text - sql
|
||||
// Parameters - Array Of Arbitrary - Array of positional parameters of the request - params
|
||||
// ForceResult - Boolean - Includes an attempt to retrieve the result, even for nonSELECT queries - force
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function ExecuteSQLQuery(Val QueryText
|
||||
, Val Parameters = ""
|
||||
, Val ForceResult = False
|
||||
, Val Connection = ""
|
||||
, Val Tls = "") Export
|
||||
|
||||
OPI_TypeConversion.GetLine(QueryText, True);
|
||||
OPI_TypeConversion.GetBoolean(ForceResult);
|
||||
|
||||
Parameters_ = ProcessParameters(Parameters);
|
||||
|
||||
If IsConnector(Connection) Then
|
||||
CloseConnection = False;
|
||||
Connector = Connection;
|
||||
Else
|
||||
CloseConnection = True;
|
||||
Connector = CreateConnection(Connection, Tls);
|
||||
EndIf;
|
||||
|
||||
If Not IsConnector(Connector) Then
|
||||
Return Connector;
|
||||
EndIf;
|
||||
|
||||
Result = Connector.Execute(QueryText, Parameters_, ForceResult);
|
||||
|
||||
If CloseConnection Then
|
||||
CloseConnection(Connector);
|
||||
EndIf;
|
||||
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Generate connection string
|
||||
// Forms a connection string from the passed data
|
||||
//
|
||||
// Parameters:
|
||||
// Address - String - IP address or domain name of the server - addr
|
||||
// Base - String - Name of the database to connect - db
|
||||
// Login - String - MySQL user - login
|
||||
// Password - String - MySQL password - pass
|
||||
// Port - String - Connection port - port
|
||||
//
|
||||
// Returns:
|
||||
// String - MySQL database connection string
|
||||
Function GenerateConnectionString(Val Address, Val Base, Val Login, Val Password = "", Val Port = "3306") Export
|
||||
|
||||
OPI_TypeConversion.GetLine(Address);
|
||||
OPI_TypeConversion.GetLine(Login);
|
||||
OPI_TypeConversion.GetLine(Base);
|
||||
OPI_TypeConversion.GetLine(Port);
|
||||
OPI_TypeConversion.GetLine(Password);
|
||||
|
||||
Port = ?(ValueIsFilled(Port), ":" + Port, Port);
|
||||
Password = ?(ValueIsFilled(Password), ":" + Password, Password);
|
||||
|
||||
StringTemplate = "mysql://%1%2@%3%4/%5";
|
||||
ConnectionString = StrTemplate(StringTemplate, Login, Password, Address, Port, Base);
|
||||
|
||||
Return ConnectionString;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get TLS Settings
|
||||
// Forms settings for using TLS
|
||||
//
|
||||
// Note
|
||||
// Tls settings can only be set when a connection is created: explicitly, by using the `OpenConnection` function^^
|
||||
// or implicit, when passing the connection string to ORM methods.
|
||||
// Passing Tls settings together with passing an already created connection to the `Connection` parameter will be ignored
|
||||
//
|
||||
// Parameters:
|
||||
// DisableCertVerification - Boolean - Allows to work with invalid certificates, including self signed - trust
|
||||
// CertFilepath - String - Path to the root PEM file of the certificate if it is not in the system repository - cert
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue - Structure of TLS connection settings
|
||||
Function GetTlsSettings(Val DisableCertVerification, Val CertFilepath = "") Export
|
||||
|
||||
Return OPI_AddIns.GetTlsSettings(DisableCertVerification, CertFilepath);
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region ORM
|
||||
|
||||
// Create database
|
||||
// Creates a database with the specified name
|
||||
//
|
||||
// Parameters:
|
||||
// Base - String - Database name - base
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function CreateDatabase(Val Base, Val Connection = "", Val Tls = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.CreateDatabase(OPI_MySQL, Base, Connection, Tls);
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Drop database
|
||||
// Deletes the database
|
||||
//
|
||||
// Parameters:
|
||||
// Base - String - Database name - base
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function DeleteDatabase(Val Base, Val Connection = "", Val Tls = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.DeleteDatabase(OPI_MySQL, Base, Connection, Tls);
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Create table
|
||||
// Creates an empty table in the database
|
||||
//
|
||||
// Note
|
||||
// The list of available types is described on the initial page of the MySQL library documentation
|
||||
//
|
||||
// Parameters:
|
||||
// Table - String - Table name - table
|
||||
// ColoumnsStruct - Structure Of KeyAndValue - Column structure: Key > Name, Value > Data type - cols
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function CreateTable(Val Table, Val ColoumnsStruct, Val Connection = "", Val Tls = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.CreateTable(OPI_MySQL, Table, ColoumnsStruct, Connection, Tls);
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Clear table
|
||||
// Clears the database table
|
||||
//
|
||||
// Parameters:
|
||||
// Table - String - Table name - table
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function ClearTable(Val Table, Val Connection = "", Val Tls = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.DeleteRecords(OPI_MySQL, Table, , Connection, Tls);
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Delete table
|
||||
// Deletes a table from the database
|
||||
//
|
||||
// Parameters:
|
||||
// Table - String - Table name - table
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function DeleteTable(Val Table, Val Connection = "", Val Tls = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.DeleteTable(OPI_MySQL, Table, Connection, Tls);
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Add rows
|
||||
// Adds new rows to the table
|
||||
//
|
||||
// Note
|
||||
// Record data is specified as an array of structures of the following type:^
|
||||
// `{'Field name 1': {'Type': 'Value'}, 'Field name 2': {'Type': 'Value'},...}`
|
||||
// The list of available types is described on the initial page of the MySQL library documentation
|
||||
//
|
||||
// Parameters:
|
||||
// Table - String - Table name - table
|
||||
// DataArray - Array of Structure - An array of string data structures: Key > field, Value > field value - rows
|
||||
// Transaction - Boolean - True > adding records to transactions with rollback on error - trn
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function AddRecords(Val Table, Val DataArray, Val Transaction = True, Val Connection = "", Val Tls = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.AddRecords(OPI_MySQL, Table, DataArray, Transaction, Connection, Tls);
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get records
|
||||
// Gets records from the selected table
|
||||
//
|
||||
// Parameters:
|
||||
// Table - String - Table name - table
|
||||
// Fields - Array Of String - Fields for selection - fields
|
||||
// Filters - Array of Structure - Filters array. See GetRecordsFilterStrucutre - filter
|
||||
// Sort - Structure Of KeyAndValue - Sorting: Key > field name, Value > direction (ASC, DESC) - order
|
||||
// Count - Number - Limiting the number of received strings - limit
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function GetRecords(Val Table
|
||||
, Val Fields = "*"
|
||||
, Val Filters = ""
|
||||
, Val Sort = ""
|
||||
, Val Count = ""
|
||||
, Val Connection = ""
|
||||
, Val Tls = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.GetRecords(OPI_MySQL
|
||||
, Table
|
||||
, Fields
|
||||
, Filters
|
||||
, Sort
|
||||
, Count
|
||||
, Connection
|
||||
, Tls);
|
||||
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Update records
|
||||
// Updates the value of records by selected criteria
|
||||
//
|
||||
// Note
|
||||
// Record data is specified as an array of structures of the following type:^
|
||||
// `{'Field name 1': {'Type': 'Value'}, 'Field name 2': {'Type': 'Value'},...}`
|
||||
// The list of available types is described on the initial page of the MySQL library documentation
|
||||
//
|
||||
// Parameters:
|
||||
// Table - String - Table name - table
|
||||
// ValueStructure - Structure Of KeyAndValue - Values structure: Key > field, Value > field value - values
|
||||
// Filters - Array of Structure - Filters array. See GetRecordsFilterStrucutre - filter
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function UpdateRecords(Val Table
|
||||
, Val ValueStructure
|
||||
, Val Filters = ""
|
||||
, Val Connection = ""
|
||||
, Val Tls = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.UpdateRecords(OPI_MySQL, Table, ValueStructure, Filters, Connection, Tls);
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Delete records
|
||||
// Deletes records from the table
|
||||
//
|
||||
// Parameters:
|
||||
// Table - String - Table name - table
|
||||
// Filters - Array of Structure - Filters array. See GetRecordsFilterStrucutre - filter
|
||||
// Connection - String, Arbitrary - Connection or connection string - dbc
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Result of query execution
|
||||
Function DeleteRecords(Val Table, Val Filters = "", Val Connection = "", Val Tls = "") Export
|
||||
|
||||
Result = OPI_SQLQueries.DeleteRecords(OPI_MySQL, Table, Filters, Connection, Tls);
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get records filter strucutre
|
||||
// Gets the template structure for filtering records in ORM queries
|
||||
//
|
||||
// Note
|
||||
// The use of the `raw` feature is necessary for compound constructions like `BEETWEEN`.^^
|
||||
// For example: with `raw:false` the filter `type:BETWEEN` `value:10 AND 20` will be interpolated as `BETWEEN ?1 `^^
|
||||
// where `?1 = "10 AND 20,"' which would cause an error.
|
||||
// In such a case, you must use `raw:true` to set the condition directly in the query text
|
||||
//
|
||||
// Parameters:
|
||||
// Clear - Boolean - True > structure with empty valuse, False > field descriptions at values - empty
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue - Record filter element
|
||||
Function GetRecordsFilterStrucutre(Val Clear = False) Export
|
||||
|
||||
Return OPI_SQLQueries.GetRecordsFilterStrucutre(Clear);
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region Internal
|
||||
|
||||
Function GetFeatures() Export
|
||||
|
||||
Features = New Map;
|
||||
Features.Insert("ParameterNumeration", False);
|
||||
Features.Insert("ParameterMarker" , "?");
|
||||
|
||||
Return Features;
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region Private
|
||||
|
||||
Function ProcessParameters(Val Parameters)
|
||||
|
||||
If Not ValueIsFilled(Parameters) Then
|
||||
Return "[]";
|
||||
EndIf;
|
||||
|
||||
OPI_TypeConversion.GetArray(Parameters);
|
||||
|
||||
For N = 0 To Parameters.UBound() Do
|
||||
|
||||
CurrentParameter = Parameters[N];
|
||||
|
||||
CurrentParameter = ProcessParameter(CurrentParameter);
|
||||
|
||||
Parameters[N] = CurrentParameter;
|
||||
|
||||
EndDo;
|
||||
|
||||
Parameters_ = OPI_Tools.JSONString(Parameters, , False);
|
||||
|
||||
If StrStartsWith(Parameters_, "NOT JSON") Then
|
||||
Raise "JSON parameter array validation error!";
|
||||
EndIf;
|
||||
|
||||
Return Parameters_;
|
||||
|
||||
EndFunction
|
||||
|
||||
Function ProcessParameter(CurrentParameter, AsObject = True)
|
||||
|
||||
CurrentType = TypeOf(CurrentParameter);
|
||||
CurrentKey = "";
|
||||
|
||||
If CurrentType = Type("BinaryData") Then
|
||||
|
||||
CurrentParameter = Base64String(CurrentParameter);
|
||||
CurrentKey = "BYTES";
|
||||
|
||||
ElsIf CurrentType = Type("UUID") Then
|
||||
|
||||
CurrentParameter = String(CurrentParameter);
|
||||
CurrentKey = "TEXT";
|
||||
|
||||
ElsIf CurrentType = Type("Boolean") Then
|
||||
|
||||
CurrentParameter = ?(CurrentParameter, 1, 0);
|
||||
CurrentKey = "INT";
|
||||
|
||||
ElsIf CurrentType = Type("Number") Then
|
||||
|
||||
CurrentKey = "DOUBLE";
|
||||
|
||||
ElsIf CurrentType = Type("Date") Then
|
||||
|
||||
CurrentParameter = OPI_Tools.DateRFC3339(CurrentParameter);
|
||||
CurrentKey = "DATE";
|
||||
|
||||
Else
|
||||
|
||||
If CurrentType = Type("Structure") Or CurrentType = Type("Map") Then
|
||||
|
||||
If OPI_Tools.CollectionFieldExists(CurrentParameter, "BYTES") Then
|
||||
|
||||
CurrentParameter = ProcessBlobStructure(CurrentParameter);
|
||||
CurrentKey = "BYTES";
|
||||
|
||||
Else
|
||||
|
||||
For Each ParamElement In CurrentParameter Do
|
||||
|
||||
CurrentKey = Upper(ParamElement.Key);
|
||||
CurrentValue = ParamElement.Value;
|
||||
|
||||
CurrentParameter = ProcessParameter(CurrentValue, False);
|
||||
|
||||
Break;
|
||||
|
||||
EndDo;
|
||||
|
||||
EndIf;
|
||||
|
||||
Else
|
||||
|
||||
OPI_TypeConversion.GetLine(CurrentParameter);
|
||||
CurrentKey = "TEXT";
|
||||
|
||||
EndIf;
|
||||
|
||||
EndIf;
|
||||
|
||||
If AsObject Then
|
||||
CurrentParameter = New Structure(CurrentKey, CurrentParameter);
|
||||
EndIf;
|
||||
|
||||
Return CurrentParameter;
|
||||
|
||||
EndFunction
|
||||
|
||||
Function ProcessBlobStructure(Val Value)
|
||||
|
||||
Bytea_ = "BYTES";
|
||||
|
||||
DataValue = Value[Bytea_];
|
||||
|
||||
If TypeOf(DataValue) = Type("BinaryData") Then
|
||||
Value = Base64String(DataValue);
|
||||
Else
|
||||
|
||||
DataFile = New File(String(DataValue));
|
||||
|
||||
If DataFile.Exists() Then
|
||||
|
||||
CurrentData = New BinaryData(String(DataValue));
|
||||
Value = Base64String(CurrentData);
|
||||
|
||||
EndIf;
|
||||
|
||||
EndIf;
|
||||
|
||||
Return Value;
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
11
src/en/OPI/src/CommonModules/OPI_MySQL/OPI_MySQL.mdo
vendored
Normal file
11
src/en/OPI/src/CommonModules/OPI_MySQL/OPI_MySQL.mdo
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="080b004e-2bff-48bc-a034-c69937b69323">
|
||||
<name>OPI_MySQL</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>MySQL (OPI)</value>
|
||||
</synonym>
|
||||
<server>true</server>
|
||||
<externalConnection>true</externalConnection>
|
||||
<clientOrdinaryApplication>true</clientOrdinaryApplication>
|
||||
</mdclass:CommonModule>
|
||||
@@ -3,7 +3,7 @@
|
||||
<name>OPI_Neocities</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Neocities (OPI)</value>
|
||||
<value>Neocities (OpenIntegrations)</value>
|
||||
</synonym>
|
||||
<server>true</server>
|
||||
<externalConnection>true</externalConnection>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<name>OPI_PostgreSQL</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Postgre SQL (OpenIntegrations)</value>
|
||||
<value>PostgreSQL (OpenIntegrations)</value>
|
||||
</synonym>
|
||||
<server>true</server>
|
||||
<externalConnection>true</externalConnection>
|
||||
|
||||
@@ -679,10 +679,10 @@ Function ExecuteSQLQuery(Val Module
|
||||
, Val Connection = ""
|
||||
, Val Tls = Undefined)
|
||||
|
||||
If Tls = Undefined Then
|
||||
Result = Module.ExecuteSQLQuery(QueryText, Parameters, ForceResult, Connection);
|
||||
Else
|
||||
If ValueIsFilled(Tls) Then
|
||||
Result = Module.ExecuteSQLQuery(QueryText, Parameters, ForceResult, Connection, Tls);
|
||||
Else
|
||||
Result = Module.ExecuteSQLQuery(QueryText, Parameters, ForceResult, Connection);
|
||||
EndIf;
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -55,6 +55,7 @@ Function GetTestingSectionMapping() Export
|
||||
Sections.Insert("Viber" , 5);
|
||||
Sections.Insert("Twitter" , 4);
|
||||
Sections.Insert("PostgreSQL" , 5);
|
||||
Sections.Insert("MySQL" , 5);
|
||||
Sections.Insert("SQLite" , 5);
|
||||
Sections.Insert("RCON" , 5);
|
||||
Sections.Insert("YandexDisk" , 5);
|
||||
@@ -91,6 +92,7 @@ Function GetTestingSectionMappingGA() Export
|
||||
Sections.Insert("Viber" , StandardDependencies);
|
||||
Sections.Insert("Twitter" , StandardDependencies);
|
||||
Sections.Insert("PostgreSQL" , StandardDependencies);
|
||||
Sections.Insert("MySQL" , StandardDependencies);
|
||||
Sections.Insert("SQLite" , StandardDependencies);
|
||||
Sections.Insert("RCON" , StandardDependencies);
|
||||
Sections.Insert("YandexDisk" , StandardDependencies);
|
||||
@@ -143,6 +145,7 @@ Function GetTestTable() Export
|
||||
Postgres = "PostgreSQL";
|
||||
GreenAPI = "GreenAPI";
|
||||
RCON = "RCON";
|
||||
MySQL = "MySQL";
|
||||
|
||||
TestTable = New ValueTable;
|
||||
TestTable.Columns.Add("Method");
|
||||
@@ -282,6 +285,7 @@ Function GetTestTable() Export
|
||||
NewTest(TestTable, "SQLL_ORM" , "ORM" , SQLite);
|
||||
NewTest(TestTable, "Postgres_CommonMethods" , "Common methods" , Postgres);
|
||||
NewTest(TestTable, "Postgres_ORM" , "ORM" , Postgres);
|
||||
NewTest(TestTable, "MYS_CommonMethods" , "Common methods" , MySQL);
|
||||
NewTest(TestTable, "GAPI_GroupManagement" , "Group management" , GreenAPI);
|
||||
NewTest(TestTable, "GAPI_MessageSending" , "Messages sending" , GreenAPI);
|
||||
NewTest(TestTable, "GAPI_NotificationsReceiving" , "Notifications receiving" , GreenAPI);
|
||||
@@ -1631,8 +1635,10 @@ Procedure Check_BitrixDeal(Val Result) Export
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_BitrixAttachment(Val Result) Export
|
||||
|
||||
ExpectsThat(Result["result"]).ИмеетТип("Map");
|
||||
ExpectsThat(Result["result"]["attachmentId"]).Заполнено();
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_BitrixAvailableActions(Val Result, Val Count) Export
|
||||
@@ -2044,7 +2050,9 @@ Procedure Check_YaMarketOk(Val Result) Export
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_MetrikaTags(Val Result) Export
|
||||
|
||||
ExpectsThat(Result["labels"]).ИмеетТип("Array");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_MetrikaTag(Val Result, Val Name = "") Export
|
||||
@@ -2059,19 +2067,27 @@ Procedure Check_MetrikaTag(Val Result, Val Name = "") Export
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_MetrikaSuccess(Val Result) Export
|
||||
|
||||
ExpectsThat(Result["success"]).Равно(True);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_MetrikaCounter(Val Result) Export
|
||||
|
||||
ExpectsThat(Result["counter"]).ИмеетТип("Map").Заполнено();
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_MetrikaCounters(Val Result) Export
|
||||
|
||||
ExpectsThat(Result["counters"]).ИмеетТип("Array").Заполнено();
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_MetrikaActions(Val Result) Export
|
||||
|
||||
ExpectsThat(Result["operations"]).ИмеетТип("Array");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_S3Success(Val Result) Export
|
||||
@@ -2096,23 +2112,33 @@ Procedure Check_S3NotImplemented(Val Result) Export
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_AddIn(Val Result, Val TypeName) Export
|
||||
|
||||
ExpectsThat(String(TypeOf(Result))).Равно(TypeName);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_Equality(Val Value1, Val Value2) Export
|
||||
|
||||
ExpectsThat(Value1).Равно(Value2);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_SQLiteSuccess(Val Result) Export
|
||||
|
||||
ExpectsThat(Result["result"]).Равно(True);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_SQLiteError(Val Result) Export
|
||||
|
||||
ExpectsThat(Result["result"]).Равно(False);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_SQLiteRows(Val Result, Val Count) Export
|
||||
|
||||
ExpectsThat(Result["rows"]).Равно(Count);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_SQLiteFieldsValues(Val Result, Val ValueStructure) Export
|
||||
@@ -2124,7 +2150,9 @@ Procedure Check_SQLiteFieldsValues(Val Result, Val ValueStructure) Export
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_SQLiteNoRows(Val Result) Export
|
||||
|
||||
ExpectsThat(Result["data"].Count()).Равно(0);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_ResultTrue(Val Result) Export
|
||||
@@ -2603,32 +2631,64 @@ EndProcedure
|
||||
|
||||
Procedure ProcessSpecialOptionsSecrets(Val Library, Val Option, Value)
|
||||
|
||||
If Library = "bitrix24"
|
||||
And Option = "url" Then
|
||||
If Library = "bitrix24" Then
|
||||
|
||||
ProcessSecretsBitrix24(Option, Value);
|
||||
|
||||
ElsIf Library = "postgres" Then
|
||||
|
||||
ProcessSecretsPostgreSQL(Option, Value);
|
||||
|
||||
ElsIf Library = "mysql" Then
|
||||
|
||||
ProcessSecretsMySQL(Option, Value);
|
||||
|
||||
Else
|
||||
Return;
|
||||
EndIf;
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure ProcessSecretsBitrix24(Val Option, Value)
|
||||
|
||||
If Option = "url" Then
|
||||
|
||||
Value = ?(StrFind(Value, "rest") > 0
|
||||
, "https://b24-ar17wx.bitrix24.by/rest/1/***"
|
||||
, Value);
|
||||
|
||||
Return;
|
||||
|
||||
EndIf;
|
||||
|
||||
If Library = "postgres" Then
|
||||
EndProcedure
|
||||
|
||||
If Option = "dbc" Then
|
||||
Procedure ProcessSecretsPostgreSQL(Val Option, Value)
|
||||
|
||||
Value = "postgresql://bayselonarrend:***@127.0.0.1:5432/";
|
||||
If Option = "dbc" Then
|
||||
|
||||
Else
|
||||
Value = "postgresql://bayselonarrend:***@127.0.0.1:5432/";
|
||||
|
||||
If Option = "addr" Then
|
||||
Value = "127.0.0.1";
|
||||
Return;
|
||||
EndIf;
|
||||
ElsIf Option = "addr" Then
|
||||
|
||||
EndIf;
|
||||
Value = "127.0.0.1";
|
||||
|
||||
Else
|
||||
Return;
|
||||
EndIf;
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure ProcessSecretsMySQL(Val Option, Value)
|
||||
|
||||
If Option = "dbc" Then
|
||||
|
||||
Value = "mysql://bayselonarrend:***@127.0.0.1:3306/";
|
||||
|
||||
ElsIf Option = "addr" Then
|
||||
|
||||
Value = "127.0.0.1";
|
||||
|
||||
Else
|
||||
Return;
|
||||
EndIf;
|
||||
|
||||
EndProcedure
|
||||
|
||||
186
src/en/OPI/src/CommonModules/OPI_Tests/Module.bsl
vendored
186
src/en/OPI/src/CommonModules/OPI_Tests/Module.bsl
vendored
@@ -2386,6 +2386,26 @@ EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region MySQL
|
||||
|
||||
Procedure MYS_CommonMethods() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("PG_IP" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("PG_Password", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("SQL" , TestParameters);
|
||||
|
||||
MySQL_GenerateConnectionString(TestParameters);
|
||||
MySQL_CreateConnection(TestParameters);
|
||||
MySQL_CloseConnection(TestParameters);
|
||||
MySQL_IsConnector(TestParameters);
|
||||
MySQL_ExecuteSQLQuery(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region GreenAPI
|
||||
|
||||
Procedure GAPI_Account() Export
|
||||
@@ -18460,6 +18480,172 @@ EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region MySQL
|
||||
|
||||
Procedure MySQL_GenerateConnectionString(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["PG_IP"];
|
||||
Login = "bayselonarrend";
|
||||
Password = FunctionParameters["PG_Password"];
|
||||
Base = "";
|
||||
|
||||
Result = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
|
||||
// END
|
||||
|
||||
Result = StrReplace(Result, Password, "***");
|
||||
Result = StrReplace(Result, Address , "127.0.0.1");
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GenerateConnectionString", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_String(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure MySQL_CreateConnection(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["PG_IP"];
|
||||
Login = "bayselonarrend";
|
||||
Password = FunctionParameters["PG_Password"];
|
||||
Base = "";
|
||||
|
||||
ConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
Result = OPI_MySQL.CreateConnection(ConnectionString);
|
||||
|
||||
OPI_MySQL.CloseConnection(Result);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "CreateConnection", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_AddIn(Result, "AddIn.OPI_MySQL.Main");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure MySQL_CloseConnection(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["PG_IP"];
|
||||
Login = "bayselonarrend";
|
||||
Password = FunctionParameters["PG_Password"];
|
||||
Base = "";
|
||||
|
||||
ConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
Connection = OPI_MySQL.CreateConnection(ConnectionString);
|
||||
Result = OPI_MySQL.CloseConnection(Connection);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "CloseConnection", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure MySQL_IsConnector(FunctionParameters)
|
||||
|
||||
Address = FunctionParameters["PG_IP"];
|
||||
Login = "bayselonarrend";
|
||||
Password = FunctionParameters["PG_Password"];
|
||||
Base = "";
|
||||
|
||||
ConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
|
||||
Connection = OPI_MySQL.CreateConnection(ConnectionString);
|
||||
Result = OPI_MySQL.IsConnector(Connection);
|
||||
|
||||
OPI_MySQL.CloseConnection(Result);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "IsConnector", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_True(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure MySQL_ExecuteSQLQuery(FunctionParameters)
|
||||
|
||||
Image = FunctionParameters["Picture"];
|
||||
OPI_TypeConversion.GetBinaryData(Image); // Image - Type: BinaryData
|
||||
|
||||
Address = FunctionParameters["PG_IP"];
|
||||
Login = "bayselonarrend";
|
||||
Password = FunctionParameters["PG_Password"];
|
||||
Base = "test_data";
|
||||
|
||||
ConnectionString = OPI_MySQL.GenerateConnectionString(Address, Base, Login, Password);
|
||||
Connection = OPI_MySQL.CreateConnection(ConnectionString);
|
||||
|
||||
OPI_MySQL.DeleteTable("users" , Connection); // SKIP
|
||||
OPI_MySQL.DeleteTable("test_data", Connection); // SKIP
|
||||
Deletion = OPI_MySQL.DeleteTable("test_table", Connection); // SKIP
|
||||
OPI_TestDataRetrieval.WriteLog(Connection, "ExecuteSQLQuery (deleting 1)", "MySQL"); // SKIP
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Connection, "ExecuteSQLQuery (connect)", "MySQL"); // SKIP
|
||||
OPI_TestDataRetrieval.Check_AddIn(Connection, "AddIn.OPI_MySQL.Main"); // SKIP
|
||||
|
||||
// CREATE
|
||||
|
||||
QueryText = "
|
||||
|CREATE TABLE test_table (
|
||||
|id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
|name VARCHAR(255),
|
||||
|age INT,
|
||||
|salary DOUBLE,
|
||||
|amount FLOAT,
|
||||
|type TINYINT UNSIGNED,
|
||||
|date DATE,
|
||||
|time TIME,
|
||||
|data BLOB
|
||||
|);";
|
||||
|
||||
Result = OPI_MySQL.ExecuteSQLQuery(QueryText, , , Connection);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "ExecuteSQLQuery (Create)", "MySQL"); // SKIP
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result); // SKIP
|
||||
|
||||
// INSERT with parameters
|
||||
|
||||
QueryText = "
|
||||
|INSERT INTO test_table (name, age, salary, amount, type, date, time, data)
|
||||
|VALUES (?, ?, ?, ?, ?, ?, ?, ?);";
|
||||
|
||||
ParameterArray = New Array;
|
||||
ParameterArray.Add(New Structure("TEXT" , "Vitaly"));
|
||||
ParameterArray.Add(New Structure("INT" , 25));
|
||||
ParameterArray.Add(New Structure("DOUBLE", 1000.12));
|
||||
ParameterArray.Add(New Structure("FLOAT" , 1000.12));
|
||||
ParameterArray.Add(New Structure("UINT" , 1));
|
||||
ParameterArray.Add(New Structure("DATE" , OPI_Tools.GetCurrentDate()));
|
||||
ParameterArray.Add(New Structure("TIME" , OPI_Tools.GetCurrentDate()));
|
||||
ParameterArray.Add(New Structure("BYTES" , Image));
|
||||
|
||||
Result = OPI_MySQL.ExecuteSQLQuery(QueryText, ParameterArray, , Connection);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "ExecuteSQLQuery (Insert)", "MySQL"); // SKIP
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result); // SKIP
|
||||
|
||||
// SELECT (The result of this query is shown in the Result block)
|
||||
|
||||
QueryText = "SELECT name, age, salary, amount, type, date, time, data FROM test_table;";
|
||||
|
||||
Result = OPI_MySQL.ExecuteSQLQuery(QueryText, , , Connection);
|
||||
|
||||
Blob = Result["data"][0]["data"]["BYTES"]; // SKIP
|
||||
|
||||
Result["data"][0]["data"]["BYTES"] = "Base64"; // SKIP
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "ExecuteSQLQuery", "MySQL"); // SKIP
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result); // SKIP
|
||||
OPI_TestDataRetrieval.Check_Equality(Base64Value(Blob).Size(), Image.Size()); // SKIP
|
||||
|
||||
|
||||
Closing = OPI_MySQL.CloseConnection(Connection);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "CloseConnection (query)", "MySQL");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region GreenAPI
|
||||
|
||||
Procedure GreenAPI_FormAccessParameters(FunctionParameters)
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
</synonym>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Tests for YaxUnit (OPI)</value>
|
||||
<value>Tests for YaxUnit (OpenIntegrations)</value>
|
||||
</synonym>
|
||||
<server>true</server>
|
||||
<externalConnection>true</externalConnection>
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
<commonModules>CommonModule.OPI_GoogleDrive</commonModules>
|
||||
<commonModules>CommonModule.OPI_GoogleSheets</commonModules>
|
||||
<commonModules>CommonModule.OPI_GoogleWorkspace</commonModules>
|
||||
<commonModules>CommonModule.OPI_MySQL</commonModules>
|
||||
<commonModules>CommonModule.OPI_Neocities</commonModules>
|
||||
<commonModules>CommonModule.OPI_Notion</commonModules>
|
||||
<commonModules>CommonModule.OPI_Ozon</commonModules>
|
||||
|
||||
527
src/en/cli/data/Classes/internal/Classes/mysql.os
vendored
Normal file
527
src/en/cli/data/Classes/internal/Classes/mysql.os
vendored
Normal file
@@ -0,0 +1,527 @@
|
||||
Function ПолучитьСостав() Export
|
||||
|
||||
CompositionTable = New ValueTable();
|
||||
CompositionTable.Columns.Add("Библиотека");
|
||||
CompositionTable.Columns.Add("Модуль");
|
||||
CompositionTable.Columns.Add("Метод");
|
||||
CompositionTable.Columns.Add("МетодПоиска");
|
||||
CompositionTable.Columns.Add("Параметр");
|
||||
CompositionTable.Columns.Add("Описание");
|
||||
CompositionTable.Columns.Add("ОписаниеМетода");
|
||||
CompositionTable.Columns.Add("Область");
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "ExecuteSQLQuery";
|
||||
NewLine.МетодПоиска = "EXECUTESQLQUERY";
|
||||
NewLine.Параметр = "--sql";
|
||||
NewLine.Описание = "Database query text";
|
||||
NewLine.Область = "Common methods";
|
||||
NewLine.ОписаниеМетода = "Executes an arbitrary SQL query";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "ExecuteSQLQuery";
|
||||
NewLine.МетодПоиска = "EXECUTESQLQUERY";
|
||||
NewLine.Параметр = "--params";
|
||||
NewLine.Описание = "Array of positional parameters of the request (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Common methods";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "ExecuteSQLQuery";
|
||||
NewLine.МетодПоиска = "EXECUTESQLQUERY";
|
||||
NewLine.Параметр = "--force";
|
||||
NewLine.Описание = "Includes an attempt to retrieve the result, even for nonSELECT queries (optional, def. val. - No)";
|
||||
NewLine.Область = "Common methods";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "ExecuteSQLQuery";
|
||||
NewLine.МетодПоиска = "EXECUTESQLQUERY";
|
||||
NewLine.Параметр = "--dbc";
|
||||
NewLine.Описание = "Connection or connection string (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Common methods";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "ExecuteSQLQuery";
|
||||
NewLine.МетодПоиска = "EXECUTESQLQUERY";
|
||||
NewLine.Параметр = "--tls";
|
||||
NewLine.Описание = "TLS settings, if necessary. See GetTlsSettings (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Common methods";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "GenerateConnectionString";
|
||||
NewLine.МетодПоиска = "GENERATECONNECTIONSTRING";
|
||||
NewLine.Параметр = "--addr";
|
||||
NewLine.Описание = "IP address or domain name of the server";
|
||||
NewLine.Область = "Common methods";
|
||||
NewLine.ОписаниеМетода = "Forms a connection string from the passed data";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "GenerateConnectionString";
|
||||
NewLine.МетодПоиска = "GENERATECONNECTIONSTRING";
|
||||
NewLine.Параметр = "--db";
|
||||
NewLine.Описание = "Name of the database to connect";
|
||||
NewLine.Область = "Common methods";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "GenerateConnectionString";
|
||||
NewLine.МетодПоиска = "GENERATECONNECTIONSTRING";
|
||||
NewLine.Параметр = "--login";
|
||||
NewLine.Описание = "MySQL user";
|
||||
NewLine.Область = "Common methods";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "GenerateConnectionString";
|
||||
NewLine.МетодПоиска = "GENERATECONNECTIONSTRING";
|
||||
NewLine.Параметр = "--pass";
|
||||
NewLine.Описание = "MySQL password (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Common methods";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "GenerateConnectionString";
|
||||
NewLine.МетодПоиска = "GENERATECONNECTIONSTRING";
|
||||
NewLine.Параметр = "--port";
|
||||
NewLine.Описание = "Connection port (optional, def. val. - 3306)";
|
||||
NewLine.Область = "Common methods";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "GetTlsSettings";
|
||||
NewLine.МетодПоиска = "GETTLSSETTINGS";
|
||||
NewLine.Параметр = "--trust";
|
||||
NewLine.Описание = "Allows to work with invalid certificates, including self signed";
|
||||
NewLine.Область = "Common methods";
|
||||
NewLine.ОписаниеМетода = "Forms settings for using TLS";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "GetTlsSettings";
|
||||
NewLine.МетодПоиска = "GETTLSSETTINGS";
|
||||
NewLine.Параметр = "--cert";
|
||||
NewLine.Описание = "Path to the root PEM file of the certificate if it is not in the system repository (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Common methods";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "CreateDatabase";
|
||||
NewLine.МетодПоиска = "CREATEDATABASE";
|
||||
NewLine.Параметр = "--base";
|
||||
NewLine.Описание = "Database name";
|
||||
NewLine.Область = "Orm";
|
||||
NewLine.ОписаниеМетода = "Creates a database with the specified name";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "CreateDatabase";
|
||||
NewLine.МетодПоиска = "CREATEDATABASE";
|
||||
NewLine.Параметр = "--dbc";
|
||||
NewLine.Описание = "Connection or connection string (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Orm";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "CreateDatabase";
|
||||
NewLine.МетодПоиска = "CREATEDATABASE";
|
||||
NewLine.Параметр = "--tls";
|
||||
NewLine.Описание = "TLS settings, if necessary. See GetTlsSettings (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Orm";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "DeleteDatabase";
|
||||
NewLine.МетодПоиска = "DELETEDATABASE";
|
||||
NewLine.Параметр = "--base";
|
||||
NewLine.Описание = "Database name";
|
||||
NewLine.Область = "Orm";
|
||||
NewLine.ОписаниеМетода = "Deletes the database";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "DeleteDatabase";
|
||||
NewLine.МетодПоиска = "DELETEDATABASE";
|
||||
NewLine.Параметр = "--dbc";
|
||||
NewLine.Описание = "Connection or connection string (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Orm";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "DeleteDatabase";
|
||||
NewLine.МетодПоиска = "DELETEDATABASE";
|
||||
NewLine.Параметр = "--tls";
|
||||
NewLine.Описание = "TLS settings, if necessary. See GetTlsSettings (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Orm";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "CreateTable";
|
||||
NewLine.МетодПоиска = "CREATETABLE";
|
||||
NewLine.Параметр = "--table";
|
||||
NewLine.Описание = "Table name";
|
||||
NewLine.Область = "Orm";
|
||||
NewLine.ОписаниеМетода = "Creates an empty table in the database";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "CreateTable";
|
||||
NewLine.МетодПоиска = "CREATETABLE";
|
||||
NewLine.Параметр = "--cols";
|
||||
NewLine.Описание = "Column structure: Key > Name, Value > Data type";
|
||||
NewLine.Область = "Orm";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "CreateTable";
|
||||
NewLine.МетодПоиска = "CREATETABLE";
|
||||
NewLine.Параметр = "--dbc";
|
||||
NewLine.Описание = "Connection or connection string (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Orm";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "CreateTable";
|
||||
NewLine.МетодПоиска = "CREATETABLE";
|
||||
NewLine.Параметр = "--tls";
|
||||
NewLine.Описание = "TLS settings, if necessary. See GetTlsSettings (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Orm";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "ClearTable";
|
||||
NewLine.МетодПоиска = "CLEARTABLE";
|
||||
NewLine.Параметр = "--table";
|
||||
NewLine.Описание = "Table name";
|
||||
NewLine.Область = "Orm";
|
||||
NewLine.ОписаниеМетода = "Clears the database table";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "ClearTable";
|
||||
NewLine.МетодПоиска = "CLEARTABLE";
|
||||
NewLine.Параметр = "--dbc";
|
||||
NewLine.Описание = "Connection or connection string (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Orm";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "ClearTable";
|
||||
NewLine.МетодПоиска = "CLEARTABLE";
|
||||
NewLine.Параметр = "--tls";
|
||||
NewLine.Описание = "TLS settings, if necessary. See GetTlsSettings (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Orm";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "DeleteTable";
|
||||
NewLine.МетодПоиска = "DELETETABLE";
|
||||
NewLine.Параметр = "--table";
|
||||
NewLine.Описание = "Table name";
|
||||
NewLine.Область = "Orm";
|
||||
NewLine.ОписаниеМетода = "Deletes a table from the database";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "DeleteTable";
|
||||
NewLine.МетодПоиска = "DELETETABLE";
|
||||
NewLine.Параметр = "--dbc";
|
||||
NewLine.Описание = "Connection or connection string (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Orm";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "DeleteTable";
|
||||
NewLine.МетодПоиска = "DELETETABLE";
|
||||
NewLine.Параметр = "--tls";
|
||||
NewLine.Описание = "TLS settings, if necessary. See GetTlsSettings (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Orm";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "AddRecords";
|
||||
NewLine.МетодПоиска = "ADDRECORDS";
|
||||
NewLine.Параметр = "--table";
|
||||
NewLine.Описание = "Table name";
|
||||
NewLine.Область = "Orm";
|
||||
NewLine.ОписаниеМетода = "Adds new rows to the table";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "AddRecords";
|
||||
NewLine.МетодПоиска = "ADDRECORDS";
|
||||
NewLine.Параметр = "--rows";
|
||||
NewLine.Описание = "An array of string data structures: Key > field, Value > field value";
|
||||
NewLine.Область = "Orm";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "AddRecords";
|
||||
NewLine.МетодПоиска = "ADDRECORDS";
|
||||
NewLine.Параметр = "--trn";
|
||||
NewLine.Описание = "True > adding records to transactions with rollback on error (optional, def. val. - Yes)";
|
||||
NewLine.Область = "Orm";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "AddRecords";
|
||||
NewLine.МетодПоиска = "ADDRECORDS";
|
||||
NewLine.Параметр = "--dbc";
|
||||
NewLine.Описание = "Connection or connection string (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Orm";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "AddRecords";
|
||||
NewLine.МетодПоиска = "ADDRECORDS";
|
||||
NewLine.Параметр = "--tls";
|
||||
NewLine.Описание = "TLS settings, if necessary. See GetTlsSettings (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Orm";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "GetRecords";
|
||||
NewLine.МетодПоиска = "GETRECORDS";
|
||||
NewLine.Параметр = "--table";
|
||||
NewLine.Описание = "Table name";
|
||||
NewLine.Область = "Orm";
|
||||
NewLine.ОписаниеМетода = "Gets records from the selected table";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "GetRecords";
|
||||
NewLine.МетодПоиска = "GETRECORDS";
|
||||
NewLine.Параметр = "--fields";
|
||||
NewLine.Описание = "Fields for selection (optional, def. val. - *)";
|
||||
NewLine.Область = "Orm";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "GetRecords";
|
||||
NewLine.МетодПоиска = "GETRECORDS";
|
||||
NewLine.Параметр = "--filter";
|
||||
NewLine.Описание = "Filters array. See GetRecordsFilterStrucutre (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Orm";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "GetRecords";
|
||||
NewLine.МетодПоиска = "GETRECORDS";
|
||||
NewLine.Параметр = "--order";
|
||||
NewLine.Описание = "Sorting: Key > field name, Value > direction (ASC, DESC) (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Orm";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "GetRecords";
|
||||
NewLine.МетодПоиска = "GETRECORDS";
|
||||
NewLine.Параметр = "--limit";
|
||||
NewLine.Описание = "Limiting the number of received strings (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Orm";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "GetRecords";
|
||||
NewLine.МетодПоиска = "GETRECORDS";
|
||||
NewLine.Параметр = "--dbc";
|
||||
NewLine.Описание = "Connection or connection string (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Orm";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "GetRecords";
|
||||
NewLine.МетодПоиска = "GETRECORDS";
|
||||
NewLine.Параметр = "--tls";
|
||||
NewLine.Описание = "TLS settings, if necessary. See GetTlsSettings (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Orm";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "UpdateRecords";
|
||||
NewLine.МетодПоиска = "UPDATERECORDS";
|
||||
NewLine.Параметр = "--table";
|
||||
NewLine.Описание = "Table name";
|
||||
NewLine.Область = "Orm";
|
||||
NewLine.ОписаниеМетода = "Updates the value of records by selected criteria";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "UpdateRecords";
|
||||
NewLine.МетодПоиска = "UPDATERECORDS";
|
||||
NewLine.Параметр = "--values";
|
||||
NewLine.Описание = "Values structure: Key > field, Value > field value";
|
||||
NewLine.Область = "Orm";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "UpdateRecords";
|
||||
NewLine.МетодПоиска = "UPDATERECORDS";
|
||||
NewLine.Параметр = "--filter";
|
||||
NewLine.Описание = "Filters array. See GetRecordsFilterStrucutre (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Orm";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "UpdateRecords";
|
||||
NewLine.МетодПоиска = "UPDATERECORDS";
|
||||
NewLine.Параметр = "--dbc";
|
||||
NewLine.Описание = "Connection or connection string (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Orm";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "UpdateRecords";
|
||||
NewLine.МетодПоиска = "UPDATERECORDS";
|
||||
NewLine.Параметр = "--tls";
|
||||
NewLine.Описание = "TLS settings, if necessary. See GetTlsSettings (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Orm";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "DeleteRecords";
|
||||
NewLine.МетодПоиска = "DELETERECORDS";
|
||||
NewLine.Параметр = "--table";
|
||||
NewLine.Описание = "Table name";
|
||||
NewLine.Область = "Orm";
|
||||
NewLine.ОписаниеМетода = "Deletes records from the table";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "DeleteRecords";
|
||||
NewLine.МетодПоиска = "DELETERECORDS";
|
||||
NewLine.Параметр = "--filter";
|
||||
NewLine.Описание = "Filters array. See GetRecordsFilterStrucutre (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Orm";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "DeleteRecords";
|
||||
NewLine.МетодПоиска = "DELETERECORDS";
|
||||
NewLine.Параметр = "--dbc";
|
||||
NewLine.Описание = "Connection or connection string (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Orm";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "DeleteRecords";
|
||||
NewLine.МетодПоиска = "DELETERECORDS";
|
||||
NewLine.Параметр = "--tls";
|
||||
NewLine.Описание = "TLS settings, if necessary. See GetTlsSettings (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Orm";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "mysql";
|
||||
NewLine.Модуль = "OPI_MySQL";
|
||||
NewLine.Метод = "GetRecordsFilterStrucutre";
|
||||
NewLine.МетодПоиска = "GETRECORDSFILTERSTRUCUTRE";
|
||||
NewLine.Параметр = "--empty";
|
||||
NewLine.Описание = "True > structure with empty valuse, False > field descriptions at values (optional, def. val. - No)";
|
||||
NewLine.Область = "Orm";
|
||||
NewLine.ОписаниеМетода = "Gets the template structure for filtering records in ORM queries";
|
||||
|
||||
Return CompositionTable;
|
||||
EndFunction
|
||||
|
||||
1
src/en/cli/data/Classes/СоставБиблиотеки.os
vendored
1
src/en/cli/data/Classes/СоставБиблиотеки.os
vendored
@@ -16,6 +16,7 @@
|
||||
СоответствиеКомандМодулей.Вставить("gsheets", "OPI_GoogleSheets");
|
||||
СоответствиеКомандМодулей.Вставить("google", "OPI_GoogleWorkspace");
|
||||
СоответствиеКомандМодулей.Вставить("greenapi", "OPI_GreenAPI");
|
||||
СоответствиеКомандМодулей.Вставить("mysql", "OPI_MySQL");
|
||||
СоответствиеКомандМодулей.Вставить("neocities", "OPI_Neocities");
|
||||
СоответствиеКомандМодулей.Вставить("notion", "OPI_Notion");
|
||||
СоответствиеКомандМодулей.Вставить("ozon", "OPI_Ozon");
|
||||
|
||||
76
src/ru/OInt/core/Modules/OPI_MySQL.os
vendored
76
src/ru/OInt/core/Modules/OPI_MySQL.os
vendored
@@ -486,71 +486,71 @@
|
||||
|
||||
Функция ОбработатьПараметр(ТекущийПараметр, КакОбъект = Истина)
|
||||
|
||||
ТекущийТип = ТипЗнч(ТекущийПараметр);
|
||||
ТекущийКлюч = "";
|
||||
ТекущийТип = ТипЗнч(ТекущийПараметр);
|
||||
ТекущийКлюч = "";
|
||||
|
||||
Если ТекущийТип = Тип("ДвоичныеДанные") Тогда
|
||||
Если ТекущийТип = Тип("ДвоичныеДанные") Тогда
|
||||
|
||||
ТекущийПараметр = Base64Строка(ТекущийПараметр);
|
||||
ТекущийКлюч = "BYTES";
|
||||
ТекущийПараметр = Base64Строка(ТекущийПараметр);
|
||||
ТекущийКлюч = "BYTES";
|
||||
|
||||
ИначеЕсли ТекущийТип = Тип("УникальныйИдентификатор") Тогда
|
||||
ИначеЕсли ТекущийТип = Тип("УникальныйИдентификатор") Тогда
|
||||
|
||||
ТекущийПараметр = Строка(ТекущийПараметр);
|
||||
ТекущийКлюч = "TEXT";
|
||||
ТекущийПараметр = Строка(ТекущийПараметр);
|
||||
ТекущийКлюч = "TEXT";
|
||||
|
||||
ИначеЕсли ТекущийТип = Тип("Булево") Тогда
|
||||
ИначеЕсли ТекущийТип = Тип("Булево") Тогда
|
||||
|
||||
ТекущийПараметр = ?(ТекущийПараметр, 1, 0);
|
||||
ТекущийКлюч = "INT";
|
||||
ТекущийПараметр = ?(ТекущийПараметр, 1, 0);
|
||||
ТекущийКлюч = "INT";
|
||||
|
||||
ИначеЕсли ТекущийТип = Тип("Число") Тогда
|
||||
ИначеЕсли ТекущийТип = Тип("Число") Тогда
|
||||
|
||||
ТекущийКлюч = "DOUBLE";
|
||||
ТекущийКлюч = "DOUBLE";
|
||||
|
||||
ИначеЕсли ТекущийТип = Тип("Дата") Тогда
|
||||
ИначеЕсли ТекущийТип = Тип("Дата") Тогда
|
||||
|
||||
ТекущийПараметр = OPI_Инструменты.ДатаRFC3339(ТекущийПараметр);
|
||||
ТекущийКлюч = "DATE";
|
||||
ТекущийПараметр = OPI_Инструменты.ДатаRFC3339(ТекущийПараметр);
|
||||
ТекущийКлюч = "DATE";
|
||||
|
||||
Иначе
|
||||
Иначе
|
||||
|
||||
Если ТекущийТип = Тип("Структура") Или ТекущийТип = Тип("Соответствие") Тогда
|
||||
Если ТекущийТип = Тип("Структура") Или ТекущийТип = Тип("Соответствие") Тогда
|
||||
|
||||
Если OPI_Инструменты.ПолеКоллекцииСуществует(ТекущийПараметр, "BYTES") Тогда
|
||||
|
||||
ТекущийПараметр = ОбработатьСтруктуруBlob(ТекущийПараметр);
|
||||
ТекущийКлюч = "BYTES";
|
||||
|
||||
Иначе
|
||||
Если OPI_Инструменты.ПолеКоллекцииСуществует(ТекущийПараметр, "BYTES") Тогда
|
||||
|
||||
ТекущийПараметр = ОбработатьСтруктуруBlob(ТекущийПараметр);
|
||||
ТекущийКлюч = "BYTES";
|
||||
|
||||
Иначе
|
||||
|
||||
Для Каждого ЭлементПараметра Из ТекущийПараметр Цикл
|
||||
|
||||
|
||||
ТекущийКлюч = вРег(ЭлементПараметра.Ключ);
|
||||
ТекущееЗначение = ЭлементПараметра.Значение;
|
||||
|
||||
|
||||
ТекущийПараметр = ОбработатьПараметр(ТекущееЗначение, Ложь);
|
||||
|
||||
|
||||
Прервать;
|
||||
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Иначе
|
||||
КонецЕсли;
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТекущийПараметр);
|
||||
ТекущийКлюч = "TEXT";
|
||||
Иначе
|
||||
|
||||
КонецЕсли;
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТекущийПараметр);
|
||||
ТекущийКлюч = "TEXT";
|
||||
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если КакОбъект Тогда
|
||||
ТекущийПараметр = Новый Структура(ТекущийКлюч, ТекущийПараметр);
|
||||
ТекущийПараметр = Новый Структура(ТекущийКлюч, ТекущийПараметр);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ТекущийПараметр;
|
||||
|
||||
Возврат ТекущийПараметр;
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
@@ -18634,7 +18634,7 @@
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Base64Значение(Blob).Размер(), Картинка.Размер()); // SKIP
|
||||
|
||||
|
||||
|
||||
Закрытие = OPI_MySQL.ЗакрытьСоединение(Соединение);
|
||||
|
||||
// END
|
||||
|
||||
14
src/ru/OInt/tools/Modules/OPI_Компоненты.os
vendored
14
src/ru/OInt/tools/Modules/OPI_Компоненты.os
vendored
@@ -57,9 +57,9 @@
|
||||
Компонента = ПодключитьКомпонентуНаСервере(ИмяКомпоненты, Класс, Ошибка);
|
||||
|
||||
Если ЗначениеЗаполнено(Ошибка) Тогда
|
||||
|
||||
СформироватьИсключениеОшибкиКомпоненты(Ошибка);
|
||||
|
||||
|
||||
СформироватьИсключениеКомпоненты(Ошибка);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
@@ -163,8 +163,8 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура СформироватьИсключениеОшибкиКомпоненты(Знач Ошибка)
|
||||
|
||||
Процедура СформироватьИсключениеКомпоненты(Знач Ошибка)
|
||||
|
||||
Если OPI_Инструменты.ЭтоWindows() Тогда
|
||||
Текст = "Не удалось инициализировать внешнюю компоненту. "
|
||||
+ "Текст ошибки: "
|
||||
@@ -174,9 +174,9 @@
|
||||
+ "Текст ошибки: "
|
||||
+ Ошибка;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
ВызватьИсключение Текст;
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -1635,10 +1635,10 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_БитриксВложение(Знач Результат) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
|
||||
ОжидаетЧто(Результат["result"]["attachmentId"]).Заполнено();
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_БитриксДоступныеДействия(Знач Результат, Знач Количество) Экспорт
|
||||
@@ -2050,9 +2050,9 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_МетрикаМетки(Знач Результат) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Результат["labels"]).ИмеетТип("Массив");
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_МетрикаМетка(Знач Результат, Знач Наименование = "") Экспорт
|
||||
@@ -2067,27 +2067,27 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_МетрикаУспех(Знач Результат) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Результат["success"]).Равно(Истина);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_МетрикаСчетчик(Знач Результат) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Результат["counter"]).ИмеетТип("Соответствие").Заполнено();
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_МетрикаСчетчики(Знач Результат) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Результат["counters"]).ИмеетТип("Массив").Заполнено();
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_МетрикаОперации(Знач Результат) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Результат["operations"]).ИмеетТип("Массив");
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_S3Успех(Знач Результат) Экспорт
|
||||
@@ -2112,33 +2112,33 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_Компонента(Знач Результат, Знач ИмяТипа) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Строка(ТипЗнч(Результат))).Равно(ИмяТипа);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_Равенство(Знач Значение1, Знач Значение2) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Значение1).Равно(Значение2);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_SQLiteУспех(Знач Результат) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Результат["result"]).Равно(Истина);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_SQLiteОшибка(Знач Результат) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Результат["result"]).Равно(Ложь);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_SQLiteСтроки(Знач Результат, Знач Количество) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Результат["rows"]).Равно(Количество);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_SQLiteЗначенияПолей(Знач Результат, Знач СтруктураЗначений) Экспорт
|
||||
@@ -2150,9 +2150,9 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_SQLiteНетЗаписей(Знач Результат) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Результат["data"].Количество()).Равно(0);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_РезультатИстина(Знач Результат) Экспорт
|
||||
@@ -2353,9 +2353,9 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьОбщийМодуль(Знач Имя)
|
||||
|
||||
|
||||
Модуль = Вычислить(Имя);
|
||||
|
||||
|
||||
Возврат Модуль;
|
||||
КонецФункции
|
||||
|
||||
@@ -2632,65 +2632,65 @@
|
||||
Процедура ОбработатьОсобенныеСекретыОпций(Знач Библиотека, Знач Опция, Значение)
|
||||
|
||||
Если Библиотека = "bitrix24" Тогда
|
||||
|
||||
|
||||
ОбработатьСекретыBitrix24(Опция, Значение);
|
||||
|
||||
ИначеЕсли Библиотека = "postgres" Тогда
|
||||
|
||||
|
||||
ОбработатьСекретыPostgreSQL(Опция, Значение);
|
||||
|
||||
|
||||
ИначеЕсли Библиотека = "mysql" Тогда
|
||||
|
||||
|
||||
ОбработатьСекретыMySQL(Опция, Значение);
|
||||
|
||||
Иначе
|
||||
Возврат;
|
||||
|
||||
Иначе
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьСекретыBitrix24(Знач Опция, Значение)
|
||||
|
||||
|
||||
Если Опция = "url" Тогда
|
||||
|
||||
|
||||
Значение = ?(СтрНайти(Значение, "rest") > 0
|
||||
, "https://b24-ar17wx.bitrix24.by/rest/1/***"
|
||||
, Значение);
|
||||
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьСекретыPostgreSQL(Знач Опция, Значение)
|
||||
|
||||
|
||||
Если Опция = "dbc" Тогда
|
||||
|
||||
Значение = "postgresql://bayselonarrend:***@127.0.0.1:5432/";
|
||||
|
||||
ИначеЕсли Опция = "addr" Тогда
|
||||
|
||||
|
||||
Значение = "127.0.0.1";
|
||||
|
||||
Иначе
|
||||
|
||||
Иначе
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьСекретыMySQL(Знач Опция, Значение)
|
||||
|
||||
|
||||
Если Опция = "dbc" Тогда
|
||||
|
||||
Значение = "mysql://bayselonarrend:***@127.0.0.1:3306/";
|
||||
|
||||
ИначеЕсли Опция = "addr" Тогда
|
||||
|
||||
|
||||
Значение = "127.0.0.1";
|
||||
|
||||
Иначе
|
||||
|
||||
Иначе
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -486,71 +486,71 @@
|
||||
|
||||
Функция ОбработатьПараметр(ТекущийПараметр, КакОбъект = Истина)
|
||||
|
||||
ТекущийТип = ТипЗнч(ТекущийПараметр);
|
||||
ТекущийКлюч = "";
|
||||
ТекущийТип = ТипЗнч(ТекущийПараметр);
|
||||
ТекущийКлюч = "";
|
||||
|
||||
Если ТекущийТип = Тип("ДвоичныеДанные") Тогда
|
||||
Если ТекущийТип = Тип("ДвоичныеДанные") Тогда
|
||||
|
||||
ТекущийПараметр = Base64Строка(ТекущийПараметр);
|
||||
ТекущийКлюч = "BYTES";
|
||||
ТекущийПараметр = Base64Строка(ТекущийПараметр);
|
||||
ТекущийКлюч = "BYTES";
|
||||
|
||||
ИначеЕсли ТекущийТип = Тип("УникальныйИдентификатор") Тогда
|
||||
ИначеЕсли ТекущийТип = Тип("УникальныйИдентификатор") Тогда
|
||||
|
||||
ТекущийПараметр = Строка(ТекущийПараметр);
|
||||
ТекущийКлюч = "TEXT";
|
||||
ТекущийПараметр = Строка(ТекущийПараметр);
|
||||
ТекущийКлюч = "TEXT";
|
||||
|
||||
ИначеЕсли ТекущийТип = Тип("Булево") Тогда
|
||||
ИначеЕсли ТекущийТип = Тип("Булево") Тогда
|
||||
|
||||
ТекущийПараметр = ?(ТекущийПараметр, 1, 0);
|
||||
ТекущийКлюч = "INT";
|
||||
ТекущийПараметр = ?(ТекущийПараметр, 1, 0);
|
||||
ТекущийКлюч = "INT";
|
||||
|
||||
ИначеЕсли ТекущийТип = Тип("Число") Тогда
|
||||
ИначеЕсли ТекущийТип = Тип("Число") Тогда
|
||||
|
||||
ТекущийКлюч = "DOUBLE";
|
||||
ТекущийКлюч = "DOUBLE";
|
||||
|
||||
ИначеЕсли ТекущийТип = Тип("Дата") Тогда
|
||||
ИначеЕсли ТекущийТип = Тип("Дата") Тогда
|
||||
|
||||
ТекущийПараметр = OPI_Инструменты.ДатаRFC3339(ТекущийПараметр);
|
||||
ТекущийКлюч = "DATE";
|
||||
ТекущийПараметр = OPI_Инструменты.ДатаRFC3339(ТекущийПараметр);
|
||||
ТекущийКлюч = "DATE";
|
||||
|
||||
Иначе
|
||||
Иначе
|
||||
|
||||
Если ТекущийТип = Тип("Структура") Или ТекущийТип = Тип("Соответствие") Тогда
|
||||
Если ТекущийТип = Тип("Структура") Или ТекущийТип = Тип("Соответствие") Тогда
|
||||
|
||||
Если OPI_Инструменты.ПолеКоллекцииСуществует(ТекущийПараметр, "BYTES") Тогда
|
||||
|
||||
ТекущийПараметр = ОбработатьСтруктуруBlob(ТекущийПараметр);
|
||||
ТекущийКлюч = "BYTES";
|
||||
|
||||
Иначе
|
||||
Если OPI_Инструменты.ПолеКоллекцииСуществует(ТекущийПараметр, "BYTES") Тогда
|
||||
|
||||
ТекущийПараметр = ОбработатьСтруктуруBlob(ТекущийПараметр);
|
||||
ТекущийКлюч = "BYTES";
|
||||
|
||||
Иначе
|
||||
|
||||
Для Каждого ЭлементПараметра Из ТекущийПараметр Цикл
|
||||
|
||||
|
||||
ТекущийКлюч = вРег(ЭлементПараметра.Ключ);
|
||||
ТекущееЗначение = ЭлементПараметра.Значение;
|
||||
|
||||
|
||||
ТекущийПараметр = ОбработатьПараметр(ТекущееЗначение, Ложь);
|
||||
|
||||
|
||||
Прервать;
|
||||
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Иначе
|
||||
КонецЕсли;
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТекущийПараметр);
|
||||
ТекущийКлюч = "TEXT";
|
||||
Иначе
|
||||
|
||||
КонецЕсли;
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТекущийПараметр);
|
||||
ТекущийКлюч = "TEXT";
|
||||
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если КакОбъект Тогда
|
||||
ТекущийПараметр = Новый Структура(ТекущийКлюч, ТекущийПараметр);
|
||||
ТекущийПараметр = Новый Структура(ТекущийКлюч, ТекущийПараметр);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ТекущийПараметр;
|
||||
|
||||
Возврат ТекущийПараметр;
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
@@ -57,9 +57,9 @@
|
||||
Компонента = ПодключитьКомпонентуНаСервере(ИмяКомпоненты, Класс, Ошибка);
|
||||
|
||||
Если ЗначениеЗаполнено(Ошибка) Тогда
|
||||
|
||||
|
||||
СформироватьИсключениеКомпоненты(Ошибка);
|
||||
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
@@ -164,7 +164,7 @@
|
||||
КонецФункции
|
||||
|
||||
Процедура СформироватьИсключениеКомпоненты(Знач Ошибка)
|
||||
|
||||
|
||||
Если OPI_Инструменты.ЭтоWindows() Тогда
|
||||
Текст = "Не удалось инициализировать внешнюю компоненту. "
|
||||
+ "Текст ошибки: "
|
||||
@@ -174,9 +174,9 @@
|
||||
+ "Текст ошибки: "
|
||||
+ Ошибка;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
ВызватьИсключение Текст;
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -1635,10 +1635,10 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_БитриксВложение(Знач Результат) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
|
||||
ОжидаетЧто(Результат["result"]["attachmentId"]).Заполнено();
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_БитриксДоступныеДействия(Знач Результат, Знач Количество) Экспорт
|
||||
@@ -2050,9 +2050,9 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_МетрикаМетки(Знач Результат) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Результат["labels"]).ИмеетТип("Массив");
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_МетрикаМетка(Знач Результат, Знач Наименование = "") Экспорт
|
||||
@@ -2067,27 +2067,27 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_МетрикаУспех(Знач Результат) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Результат["success"]).Равно(Истина);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_МетрикаСчетчик(Знач Результат) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Результат["counter"]).ИмеетТип("Соответствие").Заполнено();
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_МетрикаСчетчики(Знач Результат) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Результат["counters"]).ИмеетТип("Массив").Заполнено();
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_МетрикаОперации(Знач Результат) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Результат["operations"]).ИмеетТип("Массив");
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_S3Успех(Знач Результат) Экспорт
|
||||
@@ -2112,33 +2112,33 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_Компонента(Знач Результат, Знач ИмяТипа) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Строка(ТипЗнч(Результат))).Равно(ИмяТипа);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_Равенство(Знач Значение1, Знач Значение2) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Значение1).Равно(Значение2);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_SQLiteУспех(Знач Результат) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Результат["result"]).Равно(Истина);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_SQLiteОшибка(Знач Результат) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Результат["result"]).Равно(Ложь);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_SQLiteСтроки(Знач Результат, Знач Количество) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Результат["rows"]).Равно(Количество);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_SQLiteЗначенияПолей(Знач Результат, Знач СтруктураЗначений) Экспорт
|
||||
@@ -2150,9 +2150,9 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_SQLiteНетЗаписей(Знач Результат) Экспорт
|
||||
|
||||
|
||||
ОжидаетЧто(Результат["data"].Количество()).Равно(0);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_РезультатИстина(Знач Результат) Экспорт
|
||||
@@ -2632,65 +2632,65 @@
|
||||
Процедура ОбработатьОсобенныеСекретыОпций(Знач Библиотека, Знач Опция, Значение)
|
||||
|
||||
Если Библиотека = "bitrix24" Тогда
|
||||
|
||||
|
||||
ОбработатьСекретыBitrix24(Опция, Значение);
|
||||
|
||||
ИначеЕсли Библиотека = "postgres" Тогда
|
||||
|
||||
|
||||
ОбработатьСекретыPostgreSQL(Опция, Значение);
|
||||
|
||||
|
||||
ИначеЕсли Библиотека = "mysql" Тогда
|
||||
|
||||
|
||||
ОбработатьСекретыMySQL(Опция, Значение);
|
||||
|
||||
Иначе
|
||||
Возврат;
|
||||
|
||||
Иначе
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьСекретыBitrix24(Знач Опция, Значение)
|
||||
|
||||
|
||||
Если Опция = "url" Тогда
|
||||
|
||||
|
||||
Значение = ?(СтрНайти(Значение, "rest") > 0
|
||||
, "https://b24-ar17wx.bitrix24.by/rest/1/***"
|
||||
, Значение);
|
||||
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьСекретыPostgreSQL(Знач Опция, Значение)
|
||||
|
||||
|
||||
Если Опция = "dbc" Тогда
|
||||
|
||||
Значение = "postgresql://bayselonarrend:***@127.0.0.1:5432/";
|
||||
|
||||
ИначеЕсли Опция = "addr" Тогда
|
||||
|
||||
|
||||
Значение = "127.0.0.1";
|
||||
|
||||
Иначе
|
||||
|
||||
Иначе
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьСекретыMySQL(Знач Опция, Значение)
|
||||
|
||||
|
||||
Если Опция = "dbc" Тогда
|
||||
|
||||
Значение = "mysql://bayselonarrend:***@127.0.0.1:3306/";
|
||||
|
||||
ИначеЕсли Опция = "addr" Тогда
|
||||
|
||||
|
||||
Значение = "127.0.0.1";
|
||||
|
||||
Иначе
|
||||
|
||||
Иначе
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -18634,7 +18634,7 @@
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Равенство(Base64Значение(Blob).Размер(), Картинка.Размер()); // SKIP
|
||||
|
||||
|
||||
|
||||
Закрытие = OPI_MySQL.ЗакрытьСоединение(Соединение);
|
||||
|
||||
// END
|
||||
|
||||
547
src/ru/cli/data/Classes/internal/Classes/mysql.os
vendored
Normal file
547
src/ru/cli/data/Classes/internal/Classes/mysql.os
vendored
Normal file
@@ -0,0 +1,547 @@
|
||||
Функция ПолучитьСостав() Экспорт
|
||||
|
||||
ТаблицаСостава = Новый ТаблицаЗначений();
|
||||
ТаблицаСостава.Колонки.Добавить("Библиотека");
|
||||
ТаблицаСостава.Колонки.Добавить("Модуль");
|
||||
ТаблицаСостава.Колонки.Добавить("Метод");
|
||||
ТаблицаСостава.Колонки.Добавить("МетодПоиска");
|
||||
ТаблицаСостава.Колонки.Добавить("Параметр");
|
||||
ТаблицаСостава.Колонки.Добавить("Описание");
|
||||
ТаблицаСостава.Колонки.Добавить("ОписаниеМетода");
|
||||
ТаблицаСостава.Колонки.Добавить("Область");
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ВыполнитьЗапросSQL";
|
||||
НоваяСтрока.МетодПоиска = "ВЫПОЛНИТЬЗАПРОСSQL";
|
||||
НоваяСтрока.Параметр = "--sql";
|
||||
НоваяСтрока.Описание = "Текст запроса к базе";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
НоваяСтрока.ОписаниеМетода = "Выполняет произвольный SQL запрос
|
||||
|
|
||||
| Пример указания параметра типа массив:
|
||||
| --param ""['Val1','Val2','Val3']""
|
||||
|";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ВыполнитьЗапросSQL";
|
||||
НоваяСтрока.МетодПоиска = "ВЫПОЛНИТЬЗАПРОСSQL";
|
||||
НоваяСтрока.Параметр = "--params";
|
||||
НоваяСтрока.Описание = "Массив позиционных параметров запроса (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ВыполнитьЗапросSQL";
|
||||
НоваяСтрока.МетодПоиска = "ВЫПОЛНИТЬЗАПРОСSQL";
|
||||
НоваяСтрока.Параметр = "--force";
|
||||
НоваяСтрока.Описание = "Включает попытку получения результата, даже для не SELECT запросов (необяз. по ум. - Нет)";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ВыполнитьЗапросSQL";
|
||||
НоваяСтрока.МетодПоиска = "ВЫПОЛНИТЬЗАПРОСSQL";
|
||||
НоваяСтрока.Параметр = "--dbc";
|
||||
НоваяСтрока.Описание = "Соединение или строка подключения (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ВыполнитьЗапросSQL";
|
||||
НоваяСтрока.МетодПоиска = "ВЫПОЛНИТЬЗАПРОСSQL";
|
||||
НоваяСтрока.Параметр = "--tls";
|
||||
НоваяСтрока.Описание = "Настройки TLS, если необходимо. См. ПолучитьНастройкиTls (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "СформироватьСтрокуПодключения";
|
||||
НоваяСтрока.МетодПоиска = "СФОРМИРОВАТЬСТРОКУПОДКЛЮЧЕНИЯ";
|
||||
НоваяСтрока.Параметр = "--addr";
|
||||
НоваяСтрока.Описание = "IP адрес или доменное имя сервера";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
НоваяСтрока.ОписаниеМетода = "Формирует строку подключения из переданных данных";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "СформироватьСтрокуПодключения";
|
||||
НоваяСтрока.МетодПоиска = "СФОРМИРОВАТЬСТРОКУПОДКЛЮЧЕНИЯ";
|
||||
НоваяСтрока.Параметр = "--db";
|
||||
НоваяСтрока.Описание = "Имя базы данных для подключения";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "СформироватьСтрокуПодключения";
|
||||
НоваяСтрока.МетодПоиска = "СФОРМИРОВАТЬСТРОКУПОДКЛЮЧЕНИЯ";
|
||||
НоваяСтрока.Параметр = "--login";
|
||||
НоваяСтрока.Описание = "Логин пользователя mysql";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "СформироватьСтрокуПодключения";
|
||||
НоваяСтрока.МетодПоиска = "СФОРМИРОВАТЬСТРОКУПОДКЛЮЧЕНИЯ";
|
||||
НоваяСтрока.Параметр = "--pass";
|
||||
НоваяСтрока.Описание = "Пароль пользователя mysql (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "СформироватьСтрокуПодключения";
|
||||
НоваяСтрока.МетодПоиска = "СФОРМИРОВАТЬСТРОКУПОДКЛЮЧЕНИЯ";
|
||||
НоваяСтрока.Параметр = "--port";
|
||||
НоваяСтрока.Описание = "Порт подключения (необяз. по ум. - 3306)";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ПолучитьНастройкиTls";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬНАСТРОЙКИTLS";
|
||||
НоваяСтрока.Параметр = "--trust";
|
||||
НоваяСтрока.Описание = "Позволяет работать с некорретными сертификатами, в т.ч. самоподписанными";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
НоваяСтрока.ОписаниеМетода = "Формирует настройки для использования TLS при выполнении запросов";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ПолучитьНастройкиTls";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬНАСТРОЙКИTLS";
|
||||
НоваяСтрока.Параметр = "--cert";
|
||||
НоваяСтрока.Описание = "Путь к корневому PEM файлу сертификата, если его нет в системном хранилище (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "СоздатьБазуДанных";
|
||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬБАЗУДАННЫХ";
|
||||
НоваяСтрока.Параметр = "--base";
|
||||
НоваяСтрока.Описание = "Имя базы";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
НоваяСтрока.ОписаниеМетода = "Создает базу данных с указанным именем";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "СоздатьБазуДанных";
|
||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬБАЗУДАННЫХ";
|
||||
НоваяСтрока.Параметр = "--dbc";
|
||||
НоваяСтрока.Описание = "Соединение или строка подключения (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "СоздатьБазуДанных";
|
||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬБАЗУДАННЫХ";
|
||||
НоваяСтрока.Параметр = "--tls";
|
||||
НоваяСтрока.Описание = "Настройки TLS, если необходимо. См. ПолучитьНастройкиTls (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "УдалитьБазуДанных";
|
||||
НоваяСтрока.МетодПоиска = "УДАЛИТЬБАЗУДАННЫХ";
|
||||
НоваяСтрока.Параметр = "--base";
|
||||
НоваяСтрока.Описание = "Имя базы";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
НоваяСтрока.ОписаниеМетода = "Удаляет базу данных";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "УдалитьБазуДанных";
|
||||
НоваяСтрока.МетодПоиска = "УДАЛИТЬБАЗУДАННЫХ";
|
||||
НоваяСтрока.Параметр = "--dbc";
|
||||
НоваяСтрока.Описание = "Соединение или строка подключения (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "УдалитьБазуДанных";
|
||||
НоваяСтрока.МетодПоиска = "УДАЛИТЬБАЗУДАННЫХ";
|
||||
НоваяСтрока.Параметр = "--tls";
|
||||
НоваяСтрока.Описание = "Настройки TLS, если необходимо. См. ПолучитьНастройкиTls (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "СоздатьТаблицу";
|
||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬТАБЛИЦУ";
|
||||
НоваяСтрока.Параметр = "--table";
|
||||
НоваяСтрока.Описание = "Имя таблицы";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
НоваяСтрока.ОписаниеМетода = "Создает пустую таблицу в базе";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "СоздатьТаблицу";
|
||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬТАБЛИЦУ";
|
||||
НоваяСтрока.Параметр = "--cols";
|
||||
НоваяСтрока.Описание = "Структура колонок: Ключ > имя, Значение > Тип данных";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "СоздатьТаблицу";
|
||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬТАБЛИЦУ";
|
||||
НоваяСтрока.Параметр = "--dbc";
|
||||
НоваяСтрока.Описание = "Соединение или строка подключения (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "СоздатьТаблицу";
|
||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬТАБЛИЦУ";
|
||||
НоваяСтрока.Параметр = "--tls";
|
||||
НоваяСтрока.Описание = "Настройки TLS, если необходимо. См. ПолучитьНастройкиTls (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ОчиститьТаблицу";
|
||||
НоваяСтрока.МетодПоиска = "ОЧИСТИТЬТАБЛИЦУ";
|
||||
НоваяСтрока.Параметр = "--table";
|
||||
НоваяСтрока.Описание = "Имя таблицы";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
НоваяСтрока.ОписаниеМетода = "Очищает таблицу базы";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ОчиститьТаблицу";
|
||||
НоваяСтрока.МетодПоиска = "ОЧИСТИТЬТАБЛИЦУ";
|
||||
НоваяСтрока.Параметр = "--dbc";
|
||||
НоваяСтрока.Описание = "Соединение или строка подключения (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ОчиститьТаблицу";
|
||||
НоваяСтрока.МетодПоиска = "ОЧИСТИТЬТАБЛИЦУ";
|
||||
НоваяСтрока.Параметр = "--tls";
|
||||
НоваяСтрока.Описание = "Настройки TLS, если необходимо. См. ПолучитьНастройкиTls (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "УдалитьТаблицу";
|
||||
НоваяСтрока.МетодПоиска = "УДАЛИТЬТАБЛИЦУ";
|
||||
НоваяСтрока.Параметр = "--table";
|
||||
НоваяСтрока.Описание = "Имя таблицы";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
НоваяСтрока.ОписаниеМетода = "Удаляет таблицу из базы";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "УдалитьТаблицу";
|
||||
НоваяСтрока.МетодПоиска = "УДАЛИТЬТАБЛИЦУ";
|
||||
НоваяСтрока.Параметр = "--dbc";
|
||||
НоваяСтрока.Описание = "Соединение или строка подключения (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "УдалитьТаблицу";
|
||||
НоваяСтрока.МетодПоиска = "УДАЛИТЬТАБЛИЦУ";
|
||||
НоваяСтрока.Параметр = "--tls";
|
||||
НоваяСтрока.Описание = "Настройки TLS, если необходимо. См. ПолучитьНастройкиTls (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ДобавитьЗаписи";
|
||||
НоваяСтрока.МетодПоиска = "ДОБАВИТЬЗАПИСИ";
|
||||
НоваяСтрока.Параметр = "--table";
|
||||
НоваяСтрока.Описание = "Имя таблицы";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
НоваяСтрока.ОписаниеМетода = "Добавляет записи в таблицу
|
||||
|
|
||||
| Пример указания параметра типа массив:
|
||||
| --param ""['Val1','Val2','Val3']""
|
||||
|";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ДобавитьЗаписи";
|
||||
НоваяСтрока.МетодПоиска = "ДОБАВИТЬЗАПИСИ";
|
||||
НоваяСтрока.Параметр = "--rows";
|
||||
НоваяСтрока.Описание = "Массив структур данных строк: Ключ > поле, Значение > значение поля";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ДобавитьЗаписи";
|
||||
НоваяСтрока.МетодПоиска = "ДОБАВИТЬЗАПИСИ";
|
||||
НоваяСтрока.Параметр = "--trn";
|
||||
НоваяСтрока.Описание = "Истина > добавление записей в транзакции с откатом при ошибке (необяз. по ум. - Да)";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ДобавитьЗаписи";
|
||||
НоваяСтрока.МетодПоиска = "ДОБАВИТЬЗАПИСИ";
|
||||
НоваяСтрока.Параметр = "--dbc";
|
||||
НоваяСтрока.Описание = "Соединение или строка подключения (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ДобавитьЗаписи";
|
||||
НоваяСтрока.МетодПоиска = "ДОБАВИТЬЗАПИСИ";
|
||||
НоваяСтрока.Параметр = "--tls";
|
||||
НоваяСтрока.Описание = "Настройки TLS, если необходимо. См. ПолучитьНастройкиTls (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ПолучитьЗаписи";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬЗАПИСИ";
|
||||
НоваяСтрока.Параметр = "--table";
|
||||
НоваяСтрока.Описание = "Имя таблицы";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
НоваяСтрока.ОписаниеМетода = "Получает записи из выбранной таблицы
|
||||
|
|
||||
| Пример указания параметра типа массив:
|
||||
| --param ""['Val1','Val2','Val3']""
|
||||
|";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ПолучитьЗаписи";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬЗАПИСИ";
|
||||
НоваяСтрока.Параметр = "--fields";
|
||||
НоваяСтрока.Описание = "Поля для выборки (необяз. по ум. - *)";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ПолучитьЗаписи";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬЗАПИСИ";
|
||||
НоваяСтрока.Параметр = "--filter";
|
||||
НоваяСтрока.Описание = "Массив фильтров. См. ПолучитьСтруктуруФильтраЗаписей (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ПолучитьЗаписи";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬЗАПИСИ";
|
||||
НоваяСтрока.Параметр = "--order";
|
||||
НоваяСтрока.Описание = "Сортировка: Ключ > поле, Значение > направление (ASC, DESC) (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ПолучитьЗаписи";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬЗАПИСИ";
|
||||
НоваяСтрока.Параметр = "--limit";
|
||||
НоваяСтрока.Описание = "Ограничение количества получаемых строк (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ПолучитьЗаписи";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬЗАПИСИ";
|
||||
НоваяСтрока.Параметр = "--dbc";
|
||||
НоваяСтрока.Описание = "Соединение или строка подключения (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ПолучитьЗаписи";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬЗАПИСИ";
|
||||
НоваяСтрока.Параметр = "--tls";
|
||||
НоваяСтрока.Описание = "Настройки TLS, если необходимо. См. ПолучитьНастройкиTls (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ОбновитьЗаписи";
|
||||
НоваяСтрока.МетодПоиска = "ОБНОВИТЬЗАПИСИ";
|
||||
НоваяСтрока.Параметр = "--table";
|
||||
НоваяСтрока.Описание = "Имя таблицы";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
НоваяСтрока.ОписаниеМетода = "Обновляет значение записей по выбранным критериям
|
||||
|
|
||||
| Пример указания параметра типа массив:
|
||||
| --param ""['Val1','Val2','Val3']""
|
||||
|";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ОбновитьЗаписи";
|
||||
НоваяСтрока.МетодПоиска = "ОБНОВИТЬЗАПИСИ";
|
||||
НоваяСтрока.Параметр = "--values";
|
||||
НоваяСтрока.Описание = "Структура значений: Ключ > поле, Значение > значение поля";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ОбновитьЗаписи";
|
||||
НоваяСтрока.МетодПоиска = "ОБНОВИТЬЗАПИСИ";
|
||||
НоваяСтрока.Параметр = "--filter";
|
||||
НоваяСтрока.Описание = "Массив фильтров. См. ПолучитьСтруктуруФильтраЗаписей (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ОбновитьЗаписи";
|
||||
НоваяСтрока.МетодПоиска = "ОБНОВИТЬЗАПИСИ";
|
||||
НоваяСтрока.Параметр = "--dbc";
|
||||
НоваяСтрока.Описание = "Соединение или строка подключения (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ОбновитьЗаписи";
|
||||
НоваяСтрока.МетодПоиска = "ОБНОВИТЬЗАПИСИ";
|
||||
НоваяСтрока.Параметр = "--tls";
|
||||
НоваяСтрока.Описание = "Настройки TLS, если необходимо. См. ПолучитьНастройкиTls (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "УдалитьЗаписи";
|
||||
НоваяСтрока.МетодПоиска = "УДАЛИТЬЗАПИСИ";
|
||||
НоваяСтрока.Параметр = "--table";
|
||||
НоваяСтрока.Описание = "Имя таблицы";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
НоваяСтрока.ОписаниеМетода = "Удаляет записи из таблицы
|
||||
|
|
||||
| Пример указания параметра типа массив:
|
||||
| --param ""['Val1','Val2','Val3']""
|
||||
|";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "УдалитьЗаписи";
|
||||
НоваяСтрока.МетодПоиска = "УДАЛИТЬЗАПИСИ";
|
||||
НоваяСтрока.Параметр = "--filter";
|
||||
НоваяСтрока.Описание = "Массив фильтров. См. ПолучитьСтруктуруФильтраЗаписей (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "УдалитьЗаписи";
|
||||
НоваяСтрока.МетодПоиска = "УДАЛИТЬЗАПИСИ";
|
||||
НоваяСтрока.Параметр = "--dbc";
|
||||
НоваяСтрока.Описание = "Соединение или строка подключения (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "УдалитьЗаписи";
|
||||
НоваяСтрока.МетодПоиска = "УДАЛИТЬЗАПИСИ";
|
||||
НоваяСтрока.Параметр = "--tls";
|
||||
НоваяСтрока.Описание = "Настройки TLS, если необходимо. См. ПолучитьНастройкиTls (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "mysql";
|
||||
НоваяСтрока.Модуль = "OPI_MySQL";
|
||||
НоваяСтрока.Метод = "ПолучитьСтруктуруФильтраЗаписей";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСТРУКТУРУФИЛЬТРАЗАПИСЕЙ";
|
||||
НоваяСтрока.Параметр = "--empty";
|
||||
НоваяСтрока.Описание = "Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей (необяз. по ум. - Нет)";
|
||||
НоваяСтрока.Область = "Orm";
|
||||
НоваяСтрока.ОписаниеМетода = "Получает структуру шаблон для фильтрации записей в запросах ORM";
|
||||
|
||||
Возврат ТаблицаСостава;
|
||||
КонецФункции
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
СоответствиеКомандМодулей.Вставить("gsheets", "OPI_GoogleSheets");
|
||||
СоответствиеКомандМодулей.Вставить("google", "OPI_GoogleWorkspace");
|
||||
СоответствиеКомандМодулей.Вставить("greenapi", "OPI_GreenAPI");
|
||||
СоответствиеКомандМодулей.Вставить("mysql", "OPI_MySQL");
|
||||
СоответствиеКомандМодулей.Вставить("neocities", "OPI_Neocities");
|
||||
СоответствиеКомандМодулей.Вставить("notion", "OPI_Notion");
|
||||
СоответствиеКомандМодулей.Вставить("ozon", "OPI_Ozon");
|
||||
|
||||
Reference in New Issue
Block a user