feat(documents): дедупликация documents_meta и исправление field_label
- Исправлен N8N_CODE_PROCESS_UPLOADED_FILES_FIXED.js: использовать uploads_field_labels[0] вместо [grp] - Создан SQL_CLAIMSAVE_FIXED_NEW_FLOW_DEDUP.sql с дедупликацией documents_meta - Создан SQL_CLEANUP_DOCUMENTS_META_DUPLICATES.sql для очистки существующих дубликатов - Создан полный уникальный индекс idx_document_texts_hash_unique на document_texts(file_hash) - Добавлен SESSION_LOG_2025-11-28_documents_dedup.md с описанием всех изменений Fixes: - field_label теперь корректно отображает 'Переписка' вместо 'group-2' - documents_meta не накапливает дубликаты при повторных сохранениях - ON CONFLICT (file_hash) теперь работает для document_texts
This commit is contained in:
51
check_docs_filename_371231.php
Normal file
51
check_docs_filename_371231.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
require_once '/var/www/fastuser/data/www/crm.clientright.ru/config.inc.php';
|
||||
|
||||
$pdo = new PDO(
|
||||
"mysql:host={$dbconfig['db_server']};port=3306;dbname={$dbconfig['db_name']};charset=utf8",
|
||||
$dbconfig['db_username'],
|
||||
$dbconfig['db_password'],
|
||||
[PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
|
||||
);
|
||||
|
||||
$projectId = 371231;
|
||||
|
||||
$sql = "SELECT
|
||||
n.notesid,
|
||||
n.title,
|
||||
n.filelocationtype,
|
||||
n.filename,
|
||||
n.s3_bucket,
|
||||
n.s3_key
|
||||
FROM vtiger_notes n
|
||||
INNER JOIN vtiger_crmentity e ON e.crmid = n.notesid
|
||||
INNER JOIN vtiger_senotesrel snr ON snr.notesid = n.notesid
|
||||
WHERE snr.crmid = ? AND e.deleted = 0
|
||||
ORDER BY n.notesid DESC";
|
||||
|
||||
$stmt = $pdo->prepare($sql);
|
||||
$stmt->execute([$projectId]);
|
||||
$documents = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
echo "Проверка поля filename для документов проекта $projectId\n";
|
||||
echo str_repeat("=", 80) . "\n\n";
|
||||
|
||||
foreach ($documents as $doc) {
|
||||
echo "ID: {$doc['notesid']}\n";
|
||||
echo " Название: {$doc['title']}\n";
|
||||
echo " filelocationtype: {$doc['filelocationtype']}\n";
|
||||
echo " filename (первые 200 символов): " . substr($doc['filename'], 0, 200) . "\n";
|
||||
echo " s3_bucket: " . ($doc['s3_bucket'] ?? 'нет') . "\n";
|
||||
echo " s3_key: " . substr($doc['s3_key'] ?? 'нет', 0, 100) . "\n";
|
||||
|
||||
// Проверяем, является ли filename URL
|
||||
$isUrl = filter_var($doc['filename'], FILTER_VALIDATE_URL);
|
||||
echo " filename является URL: " . ($isUrl ? 'ДА' : 'НЕТ') . "\n";
|
||||
|
||||
// Проверяем, начинается ли filename с http
|
||||
$isHttp = (strpos($doc['filename'], 'http://') === 0 || strpos($doc['filename'], 'https://') === 0);
|
||||
echo " filename начинается с http: " . ($isHttp ? 'ДА' : 'НЕТ') . "\n";
|
||||
|
||||
echo "\n";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user