feat: Миграция путей Nextcloud в базе данных с /crm2/ на /crm/
Выполнено: - Создан 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 теперь имеет корректные пути
This commit is contained in:
47
migrate_paths.sql
Normal file
47
migrate_paths.sql
Normal file
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user