- Add SQLite database integration for environments and mappings - Update TaskManager to support pausing tasks (AWAITING_MAPPING) - Modify MigrationPlugin to detect missing mappings and wait for resolution - Add frontend UI for handling missing mappings interactively - Create dedicated migration routes and API endpoints - Update .gitignore and project documentation
298 lines
23 KiB
Markdown
Executable File
298 lines
23 KiB
Markdown
Executable File
PS H:\dev\ss-tools> & C:/ProgramData/anaconda3/python.exe h:/dev/ss-tools/migration_script.py
|
||
2025-12-16 11:50:28,192 - INFO - [run][Entry] Запуск скрипта миграции.
|
||
|
||
=== Поведение при ошибке импорта ===
|
||
Если импорт завершится ошибкой, удалить существующий дашборд и попытаться импортировать заново? (y/n): n
|
||
2025-12-16 11:50:33,363 - INFO - [ask_delete_on_failure][State] Delete-on-failure = False
|
||
2025-12-16 11:50:33,368 - INFO - [select_environments][Entry] Шаг 1/5: Выбор окружений.
|
||
2025-12-16 11:50:33,374 - INFO - [setup_clients][Enter] Starting Superset clients initialization.
|
||
2025-12-16 11:50:33,730 - INFO - [SupersetClient.__init__][Enter] Initializing SupersetClient.
|
||
2025-12-16 11:50:33,734 - INFO - [APIClient.__init__][Entry] Initializing APIClient.
|
||
2025-12-16 11:50:33,739 - WARNING - [_init_session][State] SSL verification disabled.
|
||
2025-12-16 11:50:33,742 - INFO - [APIClient.__init__][Exit] APIClient initialized.
|
||
2025-12-16 11:50:33,746 - INFO - [SupersetClient.__init__][Exit] SupersetClient initialized.
|
||
2025-12-16 11:50:33,750 - INFO - [SupersetClient.__init__][Enter] Initializing SupersetClient.
|
||
2025-12-16 11:50:33,754 - INFO - [APIClient.__init__][Entry] Initializing APIClient.
|
||
2025-12-16 11:50:33,758 - WARNING - [_init_session][State] SSL verification disabled.
|
||
2025-12-16 11:50:33,761 - INFO - [APIClient.__init__][Exit] APIClient initialized.
|
||
2025-12-16 11:50:33,764 - INFO - [SupersetClient.__init__][Exit] SupersetClient initialized.
|
||
2025-12-16 11:50:33,769 - INFO - [SupersetClient.__init__][Enter] Initializing SupersetClient.
|
||
2025-12-16 11:50:33,772 - INFO - [APIClient.__init__][Entry] Initializing APIClient.
|
||
2025-12-16 11:50:33,776 - WARNING - [_init_session][State] SSL verification disabled.
|
||
2025-12-16 11:50:33,779 - INFO - [APIClient.__init__][Exit] APIClient initialized.
|
||
2025-12-16 11:50:33,782 - INFO - [SupersetClient.__init__][Exit] SupersetClient initialized.
|
||
2025-12-16 11:50:33,786 - INFO - [SupersetClient.__init__][Enter] Initializing SupersetClient.
|
||
2025-12-16 11:50:33,790 - INFO - [APIClient.__init__][Entry] Initializing APIClient.
|
||
2025-12-16 11:50:33,794 - WARNING - [_init_session][State] SSL verification disabled.
|
||
2025-12-16 11:50:33,799 - INFO - [APIClient.__init__][Exit] APIClient initialized.
|
||
2025-12-16 11:50:33,805 - INFO - [SupersetClient.__init__][Exit] SupersetClient initialized.
|
||
2025-12-16 11:50:33,808 - INFO - [SupersetClient.__init__][Enter] Initializing SupersetClient.
|
||
2025-12-16 11:50:33,811 - INFO - [APIClient.__init__][Entry] Initializing APIClient.
|
||
2025-12-16 11:50:33,815 - WARNING - [_init_session][State] SSL verification disabled.
|
||
2025-12-16 11:50:33,820 - INFO - [APIClient.__init__][Exit] APIClient initialized.
|
||
2025-12-16 11:50:33,823 - INFO - [SupersetClient.__init__][Exit] SupersetClient initialized.
|
||
2025-12-16 11:50:33,827 - INFO - [SupersetClient.__init__][Enter] Initializing SupersetClient.
|
||
2025-12-16 11:50:33,831 - INFO - [APIClient.__init__][Entry] Initializing APIClient.
|
||
2025-12-16 11:50:33,834 - WARNING - [_init_session][State] SSL verification disabled.
|
||
2025-12-16 11:50:33,838 - INFO - [APIClient.__init__][Exit] APIClient initialized.
|
||
2025-12-16 11:50:33,840 - INFO - [SupersetClient.__init__][Exit] SupersetClient initialized.
|
||
2025-12-16 11:50:33,847 - INFO - [setup_clients][Exit] All clients (dev, prod, sbx, preprod, uatta, dev5) initialized successfully.
|
||
|
||
=== Выбор окружения ===
|
||
Исходное окружение:
|
||
1) dev
|
||
2) prod
|
||
3) sbx
|
||
4) preprod
|
||
5) uatta
|
||
6) dev5
|
||
|
||
Введите номер (0 – отмена): 4
|
||
2025-12-16 11:50:42,379 - INFO - [select_environments][State] from = preprod
|
||
|
||
=== Выбор окружения ===
|
||
Целевое окружение:
|
||
1) dev
|
||
2) prod
|
||
3) sbx
|
||
4) uatta
|
||
5) dev5
|
||
|
||
Введите номер (0 – отмена): 5
|
||
2025-12-16 11:50:45,176 - INFO - [select_environments][State] to = dev5
|
||
2025-12-16 11:50:45,182 - INFO - [select_environments][Exit] Шаг 1 завершён.
|
||
2025-12-16 11:50:45,186 - INFO - [select_dashboards][Entry] Шаг 2/5: Выбор дашбордов.
|
||
2025-12-16 11:50:45,190 - INFO - [get_dashboards][Enter] Fetching dashboards.
|
||
2025-12-16 11:50:45,197 - INFO - [authenticate][Enter] Authenticating to https://preprodta.bi.dwh.rusal.com/api/v1
|
||
2025-12-16 11:50:45,880 - INFO - [authenticate][Exit] Authenticated successfully.
|
||
2025-12-16 11:50:46,025 - INFO - [get_dashboards][Exit] Found 95 dashboards.
|
||
|
||
=== Поиск ===
|
||
Введите регулярное выражение для поиска дашбордов:
|
||
fi
|
||
|
||
=== Выбор дашбордов ===
|
||
Отметьте нужные дашборды (введите номера):
|
||
1) [ALL] Все дашборды
|
||
2) [185] FI-0060 Финансы. Налоги. Данные по налогам. Старый
|
||
3) [184] FI-0083 Статистика по ДЗ/ПДЗ
|
||
4) [187] FI-0081 ПДЗ Казначейство
|
||
5) [122] FI-0080 Финансы. Оборотный Капитал ДЗ/КЗ
|
||
6) [208] FI-0020 Просроченная дебиторская и кредиторская задолженность в динамике
|
||
7) [126] FI-0022 Кредиторская задолженность для казначейства
|
||
8) [196] FI-0023 Дебиторская задолженность для казначейства
|
||
9) [113] FI-0060 Финансы. Налоги. Данные по налогам.
|
||
10) [173] FI-0040 Оборотно-сальдовая ведомость (ОСВ) по контрагентам
|
||
11) [174] FI-0021 Дебиторская и кредиторская задолженность по документам
|
||
12) [172] FI-0030 Дебиторская задолженность по штрафам
|
||
13) [170] FI-0050 Налог на прибыль (ОНА и ОНО)
|
||
14) [159] FI-0070 Досье контрагента
|
||
|
||
Введите номера через запятую (пустой ввод → отказ): 2
|
||
2025-12-16 11:50:52,235 - INFO - [select_dashboards][State] Выбрано 1 дашбордов.
|
||
2025-12-16 11:50:52,242 - INFO - [select_dashboards][Exit] Шаг 2 завершён.
|
||
|
||
=== Замена БД ===
|
||
Заменить конфигурацию БД в YAML‑файлах? (y/n): y
|
||
2025-12-16 11:50:53,808 - INFO - [_select_databases][Entry] Selecting databases from both environments.
|
||
2025-12-16 11:50:53,816 - INFO - [get_databases][Enter] Fetching databases.
|
||
2025-12-16 11:50:53,918 - INFO - [get_databases][Exit] Found 12 databases.
|
||
2025-12-16 11:50:53,923 - INFO - [get_databases][Enter] Fetching databases.
|
||
2025-12-16 11:50:53,926 - INFO - [authenticate][Enter] Authenticating to https://dev.bi.dwh.rusal.com/api/v1
|
||
2025-12-16 11:50:54,450 - INFO - [authenticate][Exit] Authenticated successfully.
|
||
2025-12-16 11:50:54,551 - INFO - [get_databases][Exit] Found 4 databases.
|
||
|
||
=== Выбор исходной БД ===
|
||
Выберите исходную БД:
|
||
1) DEV datalab (ID: 9)
|
||
2) Prod Greenplum (ID: 7)
|
||
3) DEV Clickhouse New (OLD) (ID: 16)
|
||
4) Preprod Clickhouse New (ID: 15)
|
||
5) DEV Greenplum (ID: 1)
|
||
6) Prod Clickhouse Node 1 (ID: 11)
|
||
7) Preprod Postgre Superset Internal (ID: 5)
|
||
8) Prod Postgre Superset Internal (ID: 28)
|
||
9) Prod Clickhouse (ID: 10)
|
||
10) Dev Clickhouse (correct) (ID: 14)
|
||
11) DEV ClickHouse New (ID: 23)
|
||
12) Sandbox Postgre Superset Internal (ID: 12)
|
||
|
||
Введите номер (0 – отмена): 9
|
||
2025-12-16 11:51:11,008 - INFO - [get_database][Enter] Fetching database 10.
|
||
2025-12-16 11:51:11,038 - INFO - [get_database][Exit] Got database 10.
|
||
|
||
=== Выбор целевой БД ===
|
||
Выберите целевую БД:
|
||
1) DEV Greenplum (ID: 2)
|
||
2) DEV Clickhouse (ID: 3)
|
||
3) DEV ClickHouse New (ID: 4)
|
||
4) Dev Postgre Superset Internal (ID: 1)
|
||
|
||
Введите номер (0 – отмена): 2
|
||
2025-12-16 11:51:15,559 - INFO - [get_database][Enter] Fetching database 3.
|
||
2025-12-16 11:51:15,586 - INFO - [get_database][Exit] Got database 3.
|
||
2025-12-16 11:51:15,589 - INFO - [_select_databases][Exit] Selected databases: Без имени -> Без имени
|
||
old_db: {'id': 10, 'result': {'allow_ctas': False, 'allow_cvas': False, 'allow_dml': True, 'allow_file_upload': False, 'allow_run_async': False, 'backen
|
||
d': 'clickhousedb', 'cache_timeout': None, 'configuration_method': 'sqlalchemy_form', 'database_name': 'Prod Clickhouse', 'driver': 'connect', 'engine_i
|
||
nformation': {'disable_ssh_tunneling': False, 'supports_file_upload': False}, 'expose_in_sqllab': True, 'force_ctas_schema': None, 'id': 10, 'impersonat
|
||
e_user': False, 'is_managed_externally': False, 'uuid': '97aced68-326a-4094-b381-27980560efa9'}}
|
||
2025-12-16 11:51:15,591 - INFO - [confirm_db_config_replacement][State] Replacement set: {'old': {'database_name': None, 'uuid': None, 'id': '10'}, 'new
|
||
': {'database_name': None, 'uuid': None, 'id': '3'}}
|
||
2025-12-16 11:51:15,594 - INFO - [execute_migration][Entry] Starting migration of 1 dashboards.
|
||
|
||
=== Миграция... ===
|
||
Миграция: FI-0060 Финансы. Налоги. Данные по налогам. Старый (1/1) 0%2025-12-16 11:51:15,598 - INFO - [export_dashboard][Enter] Exporting dashboard 185.
|
||
2025-12-16 11:51:16,142 - INFO - [export_dashboard][Exit] Exported dashboard 185 to dashboard_export_20251216T085115.zip.
|
||
2025-12-16 11:51:16,205 - INFO - [update_yamls][Enter] Starting YAML configuration update.
|
||
2025-12-16 11:51:16,208 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\metadata.yaml
|
||
2025-12-16 11:51:16,209 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\charts\FI-0060-01_2787.yaml
|
||
2025-12-16 11:51:16,210 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\charts\FI-0060-02-01_2_4030.yaml
|
||
2025-12-16 11:51:16,212 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\charts\FI-0060-02-01_4029.yaml
|
||
2025-12-16 11:51:16,213 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\charts\FI-0060-02-01_TOTAL2_4036.yaml
|
||
2025-12-16 11:51:16,215 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\charts\FI-0060-02-01_TOTAL2_4037.yaml
|
||
2025-12-16 11:51:16,216 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\charts\FI-0060-02-01_TOTAL_4028.yaml
|
||
2025-12-16 11:51:16,217 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\charts\FI-0060-02-01_ZNODE_ROOT2_4024.yaml
|
||
2025-12-16 11:51:16,218 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\charts\FI-0060-02-01_ZNODE_ROOT_4033.yaml
|
||
2025-12-16 11:51:16,220 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\charts\FI-0060-02-02_ZFUND-BD2_4021.yaml
|
||
2025-12-16 11:51:16,221 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\charts\FI-0060-02-02_ZFUND_4027.yaml
|
||
2025-12-16 11:51:16,222 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\charts\FI-0060-02-02_ZFUND_4034.yaml
|
||
2025-12-16 11:51:16,224 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\charts\FI-0060-02_ZTAX_4022.yaml
|
||
2025-12-16 11:51:16,226 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\charts\FI-0060-02_ZTAX_4035.yaml
|
||
2025-12-16 11:51:16,227 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\charts\FI-0060-04-2_4031.yaml
|
||
2025-12-16 11:51:16,228 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\charts\FI-0060-05-01_4026.yaml
|
||
2025-12-16 11:51:16,230 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\charts\FI-0060-05-01_4032.yaml
|
||
2025-12-16 11:51:16,231 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\charts\FI-0060-06_1_4023.yaml
|
||
2025-12-16 11:51:16,233 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\charts\FI-0060-06_2_4020.yaml
|
||
2025-12-16 11:51:16,234 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\charts\FI-0060_4025.yaml
|
||
2025-12-16 11:51:16,236 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\dashboards\FI-0060_185.yaml
|
||
2025-12-16 11:51:16,238 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\databases\Prod_Clickhouse_10.yaml
|
||
2025-12-16 11:51:16,240 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\datasets\Prod_Clickhouse_10\FI-0000_-_685.yaml
|
||
2025-12-16 11:51:16,241 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\datasets\Prod_Clickhouse_10\FI-0060-01-2_zfund_reciever_-_861.yaml
|
||
2025-12-16 11:51:16,242 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\datasets\Prod_Clickhouse_10\FI-0060-01_zfund_reciever_click_689.yaml
|
||
2025-12-16 11:51:16,244 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\datasets\Prod_Clickhouse_10\FI-0060-02_680.yaml
|
||
2025-12-16 11:51:16,245 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\datasets\Prod_Clickhouse_10\FI-0060-03_ztax_862.yaml
|
||
2025-12-16 11:51:16,246 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\datasets\Prod_Clickhouse_10\FI-0060-04_zpbe_681.yaml
|
||
2025-12-16 11:51:16,247 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\datasets\Prod_Clickhouse_10\FI-0060-05_ZTAXZFUND_679.yaml
|
||
2025-12-16 11:51:16,249 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\datasets\Prod_Clickhouse_10\FI-0060-06_860.yaml
|
||
2025-12-16 11:51:16,250 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\datasets\Prod_Clickhouse_10\FI-0060-08_682.yaml
|
||
2025-12-16 11:51:16,251 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\datasets\Prod_Clickhouse_10\FI-0060-10_zpbe_688.yaml
|
||
2025-12-16 11:51:16,253 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\datasets\Prod_Clickhouse_10\FI-0060-11_ZTAX_NAME_863.yaml
|
||
2025-12-16 11:51:16,254 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\datasets\Prod_Clickhouse_10\FI-0060_683.yaml
|
||
2025-12-16 11:51:16,255 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\datasets\Prod_Clickhouse_10\FI-0060_684.yaml
|
||
2025-12-16 11:51:16,256 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\datasets\Prod_Clickhouse_10\FI-0060_686.yaml
|
||
2025-12-16 11:51:16,258 - INFO - [_update_yaml_file][State] Replaced '10' with '3' for key id in C:\Users\LO54FB~1\Temp\tmpuidfegpd.dir\dashboard_export
|
||
_20251216T085115\datasets\Prod_Clickhouse_10\FI-0060_690.yaml
|
||
2025-12-16 11:51:16,259 - INFO - [create_dashboard_export][Enter] Packing dashboard: ['C:\\Users\\LO54FB~1\\Temp\\tmpuidfegpd.dir'] -> C:\Users\LO54FB~1
|
||
\Temp\tmps7cuv2ti.zip
|
||
2025-12-16 11:51:16,347 - INFO - [create_dashboard_export][Exit] Archive created: C:\Users\LO54FB~1\Temp\tmps7cuv2ti.zip
|
||
2025-12-16 11:51:16,372 - ERROR - [import_dashboard][Failure] First import attempt failed: [API_FAILURE] API error during upload: {"errors": [{"message"
|
||
: "Expecting value: line 1 column 1 (char 0)", "error_type": "GENERIC_BACKEND_ERROR", "level": "error", "extra": {"issue_codes": [{"code": 1011, "messag
|
||
e": "Issue 1011 - \u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448
|
||
\u0438\u0431\u043a\u0430."}]}}]} | Context: {'type': 'api_call'}
|
||
Traceback (most recent call last):
|
||
File "h:\dev\ss-tools\superset_tool\utils\network.py", line 186, in _perform_upload
|
||
response.raise_for_status()
|
||
File "C:\ProgramData\anaconda3\Lib\site-packages\requests\models.py", line 1021, in raise_for_status
|
||
raise HTTPError(http_error_msg, response=self)
|
||
requests.exceptions.HTTPError: 500 Server Error: INTERNAL SERVER ERROR for url: https://dev.bi.dwh.rusal.com/api/v1/dashboard/import/
|
||
|
||
The above exception was the direct cause of the following exception:
|
||
|
||
Traceback (most recent call last):
|
||
File "h:\dev\ss-tools\superset_tool\client.py", line 141, in import_dashboard
|
||
return self._do_import(file_path)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "h:\dev\ss-tools\superset_tool\client.py", line 197, in _do_import
|
||
return self.network.upload_file(
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "h:\dev\ss-tools\superset_tool\utils\network.py", line 172, in upload_file
|
||
return self._perform_upload(full_url, files_payload, extra_data, _headers, timeout)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "h:\dev\ss-tools\superset_tool\utils\network.py", line 196, in _perform_upload
|
||
raise SupersetAPIError(f"API error during upload: {e.response.text}") from e
|
||
superset_tool.exceptions.SupersetAPIError: [API_FAILURE] API error during upload: {"errors": [{"message": "Expecting value: line 1 column 1 (char 0)", "
|
||
error_type": "GENERIC_BACKEND_ERROR", "level": "error", "extra": {"issue_codes": [{"code": 1011, "message": "Issue 1011 - \u041f\u0440\u043e\u0438\u0437
|
||
\u043e\u0448\u043b\u0430 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430."}]}}]} | Context: {'ty
|
||
pe': 'api_call'}
|
||
2025-12-16 11:51:16,511 - ERROR - [execute_migration][Failure] [API_FAILURE] API error during upload: {"errors": [{"message": "Expecting value: line 1 c
|
||
olumn 1 (char 0)", "error_type": "GENERIC_BACKEND_ERROR", "level": "error", "extra": {"issue_codes": [{"code": 1011, "message": "Issue 1011 - \u041f\u04
|
||
40\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430."}]
|
||
}}]} | Context: {'type': 'api_call'}
|
||
Traceback (most recent call last):
|
||
File "h:\dev\ss-tools\superset_tool\utils\network.py", line 186, in _perform_upload
|
||
response.raise_for_status()
|
||
File "C:\ProgramData\anaconda3\Lib\site-packages\requests\models.py", line 1021, in raise_for_status
|
||
raise HTTPError(http_error_msg, response=self)
|
||
requests.exceptions.HTTPError: 500 Server Error: INTERNAL SERVER ERROR for url: https://dev.bi.dwh.rusal.com/api/v1/dashboard/import/
|
||
|
||
The above exception was the direct cause of the following exception:
|
||
|
||
Traceback (most recent call last):
|
||
File "h:\dev\ss-tools\migration_script.py", line 366, in execute_migration
|
||
self.to_c.import_dashboard(file_name=tmp_new_zip, dash_id=dash_id, dash_slug=dash_slug)
|
||
File "h:\dev\ss-tools\superset_tool\client.py", line 141, in import_dashboard
|
||
return self._do_import(file_path)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "h:\dev\ss-tools\superset_tool\client.py", line 197, in _do_import
|
||
return self.network.upload_file(
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "h:\dev\ss-tools\superset_tool\utils\network.py", line 172, in upload_file
|
||
return self._perform_upload(full_url, files_payload, extra_data, _headers, timeout)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "h:\dev\ss-tools\superset_tool\utils\network.py", line 196, in _perform_upload
|
||
raise SupersetAPIError(f"API error during upload: {e.response.text}") from e
|
||
superset_tool.exceptions.SupersetAPIError: [API_FAILURE] API error during upload: {"errors": [{"message": "Expecting value: line 1 column 1 (char 0)", "
|
||
error_type": "GENERIC_BACKEND_ERROR", "level": "error", "extra": {"issue_codes": [{"code": 1011, "message": "Issue 1011 - \u041f\u0440\u043e\u0438\u0437
|
||
\u043e\u0448\u043b\u0430 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430."}]}}]} | Context: {'ty
|
||
pe': 'api_call'}
|
||
|
||
=== Ошибка ===
|
||
Не удалось мигрировать дашборд FI-0060 Финансы. Налоги. Данные по налогам. Старый.
|
||
|
||
[API_FAILURE] API error during upload: {"errors": [{"message": "Expecting value: line 1 column 1 (char 0)", "error_type": "GENERIC_BACKEND_ERROR", "leve
|
||
l": "error", "extra": {"issue_codes": [{"code": 1011, "message": "Issue 1011 - \u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043d\u0435\u0438
|
||
\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430."}]}}]} | Context: {'type': 'api_call'}
|
||
|
||
100%
|
||
2025-12-16 11:51:16,598 - INFO - [execute_migration][Exit] Migration finished.
|
||
|
||
=== Информация ===
|
||
Миграция завершена!
|
||
|
||
2025-12-16 11:51:16,605 - INFO - [run][Exit] Скрипт миграции завершён. |