From 749f84988799ff2023f4ff83a990c61288ebc6a0 Mon Sep 17 00:00:00 2001 From: Fedor Date: Mon, 20 Oct 2025 18:43:40 +0300 Subject: [PATCH] =?UTF-8?q?feat:=20=D0=9C=D0=B8=D0=B3=D1=80=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BF=D1=83=D1=82=D0=B5=D0=B9=20Nextcloud=20?= =?UTF-8?q?=D0=B2=20=D0=B1=D0=B0=D0=B7=D0=B5=20=D0=B4=D0=B0=D0=BD=D0=BD?= =?UTF-8?q?=D1=8B=D1=85=20=D1=81=20/crm2/=20=D0=BD=D0=B0=20/crm/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Выполнено: - Создан backup таблицы: vtiger_notes_backup_20251020 - Обновлено s3_key: crm2/ → crm/ (17386 записей) - Обновлено nc_path: /crm2/crm2/ → /crm/ (72 записи с дублированием) - Обновлено nc_path: /crm2/ → /crm/ (все остальные) - Обновлено filename (S3 URLs): /crm2/ → /crm/ Результаты проверки: - s3_key с crm2: 0 (было 17386) - nc_path с /crm2: 0 (было 72+) - s3_key с crm: 17386 - nc_path с /crm: 72 Документ 395695 теперь имеет корректные пути --- migrate_paths.sql | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 migrate_paths.sql diff --git a/migrate_paths.sql b/migrate_paths.sql new file mode 100644 index 00000000..12efce6a --- /dev/null +++ b/migrate_paths.sql @@ -0,0 +1,47 @@ +-- Миграция путей Nextcloud с /crm2/ на /crm/ +-- Дата: 2025-10-20 + +-- 1. Создание резервной копии +CREATE TABLE IF NOT EXISTS vtiger_notes_backup_20251020 LIKE vtiger_notes; +INSERT INTO vtiger_notes_backup_20251020 SELECT * FROM vtiger_notes; + +-- 2. Обновление s3_key: crm2/ → crm/ +UPDATE vtiger_notes +SET s3_key = REPLACE(s3_key, 'crm2/', 'crm/') +WHERE s3_key LIKE 'crm2/%'; + +-- 3. Обновление nc_path с дублированием: /crm2/crm2/ → /crm/ +UPDATE vtiger_notes +SET nc_path = REPLACE(nc_path, '/crm2/crm2/', '/crm/') +WHERE nc_path LIKE '/crm2/crm2/%'; + +-- 4. Обновление nc_path: /crm2/ → /crm/ +UPDATE vtiger_notes +SET nc_path = REPLACE(nc_path, '/crm2/', '/crm/') +WHERE nc_path LIKE '/crm2/%'; + +-- 5. Обновление filename (S3 URLs): /crm2/ → /crm/ +UPDATE vtiger_notes +SET filename = REPLACE(filename, '/crm2/', '/crm/') +WHERE filename LIKE '%/crm2/%' AND filelocationtype = 'E'; + +-- Проверка результатов +SELECT 'Проверка: s3_key с crm2/' as check_name, COUNT(*) as count FROM vtiger_notes WHERE s3_key LIKE 'crm2/%' +UNION ALL +SELECT 'Проверка: nc_path с /crm2/', COUNT(*) FROM vtiger_notes WHERE nc_path LIKE '/crm2/%' +UNION ALL +SELECT 'Проверка: filename с /crm2/', COUNT(*) FROM vtiger_notes WHERE filename LIKE '%/crm2/%' AND filelocationtype = 'E' +UNION ALL +SELECT 'Итого: s3_key с crm/', COUNT(*) FROM vtiger_notes WHERE s3_key LIKE 'crm/%' +UNION ALL +SELECT 'Итого: nc_path с /crm/', COUNT(*) FROM vtiger_notes WHERE nc_path LIKE '/crm/%'; + +-- Проверка конкретного документа 395695 +SELECT + notesid, + s3_key, + nc_path, + SUBSTRING(filename, 1, 100) as filename_preview +FROM vtiger_notes +WHERE notesid = 395695; +