Documentation · Annexes

Référence de la base de données et du stockage

Cette annexe répertorie les tables de base de données personnalisées, les types de publication, les taxonomies et les emplacements de stockage utilisés par l'extension ADP Car Market Hub.

Quand utiliser ce document

Utilisez cette référence lors de la planification des sauvegardes, de la création de rapports, du diagnostic des problèmes de schéma ou de l'audit des données conservées par l'extension. Pour le modèle d'entité conceptuel et les détails du schéma, consultez Schéma de la base de données, Modèle de données et Types de publication personnalisés et taxonomies.

Aperçu

L'extension stocke les données à cinq endroits :

  1. Tables de base de données personnalisées pour les véhicules, les événements d'analyse, les abonnements aux alertes de recherche et les tâches/ressources du Content Studio.
  2. Types de publication personnalisés pour les véhicules, les leads et les emplacements, stockés dans wp_posts et wp_postmeta.
  3. Taxonomies personnalisées stockées dans wp_terms, wp_term_taxonomy et wp_term_relationships.
  4. Options WordPress dans wp_options (toutes préfixées par as24ci_). Voir la Référence des réglages.
  5. Transients pour les caches à courte durée de vie et les verrous.

Tables de base de données personnalisées

Toutes les tables utilisent le préfixe WordPress (généralement wp_). Les cinq tables personnalisées sont supprimées lors de la désinstallation, quel que soit le réglage de as24ci_delete_data_on_uninstall, car elles peuvent contenir des données de visiteurs ou des données personnelles.

Suffixe de tablePropriétaireOption de version du schémaObjectif
as24_vehiclesAS24CI\Vehicle_Repositoryas24ci_vehicles_db_versionUne ligne par véhicule importé, indexée pour les requêtes d'archive.
as24ci_analyticsAS24CI\Analyticsas24ci_analytics_db_versionÉvénements d'analyse (vues, recherches par filtre, ouvertures de contact, soumissions de leads).
as24ci_search_agentsAS24CI\Search_Agentas24ci_search_agent_db_versionAbonnements aux alertes de recherche des visiteurs (Smart Stock Alerts).
as24ci_content_studio_jobsAS24CI\Content_Studio_Repositoryas24ci_content_studio_db_versionUne ligne par tâche de génération du Content Studio.
as24ci_content_studio_assetsAS24CI\Content_Studio_Repositoryas24ci_content_studio_db_versionRessources générées par le Content Studio, liées à une tâche par job_id.

as24_vehicles (répertoire des véhicules)

Contient une ligne par véhicule, liée à sa publication as24ci_car par post_id. La colonne as24_id contient l'identifiant d'annonce AutoScout24. Les deux colonnes ont des index uniques. Les colonnes notables incluent make, model, version_full_name, condition_type, body_type, fuel_type, transmission_type, drive_type, color_exterior, color_interior, mileage, cubic_capacity, range_km, first_registration, power_kw, power_hp, co2_emission, price, list_price, currency, emission_standard, energy_label, battery_capacity, vin, status, is_live, had_accident, equipment_codes, equipment_standard, equipment_optional, images, raw_data, manual_overrides, content_hash, imported_at, updated_at.

Les index incluent des clés uniques sur as24_id et post_id, ainsi que des index secondaires sur make/model, price, mileage, first_reg_year, fuel_type/condition_type, status/is_live et content_hash. Voir Schéma de la base de données pour la liste complète des colonnes et des types.

as24ci_analytics (événements d'analyse)

Stocke une ligne par événement suivi. Colonnes : id, post_id (0 pour les événements globaux), event_type, extra_data (JSON facultatif), created_at. Les index couvrent (post_id, event_type, created_at), (event_type, created_at) et created_at. Les insertions ne se produisent que lorsque l'analyse est activée. Une tâche de rétention quotidienne s'exécute via le hook de cron as24ci_daily_cleanup et supprime les lignes plus anciennes que la fenêtre de rétention configurée.

as24ci_search_agents (Smart Stock Alerts)

Stocke les abonnements des visiteurs. Colonnes : id, name, email, criteria, token, frequency, status (pending, active, inactive, paused), created_at, confirmed_at. Les index couvrent status et token. Étant donné que la table contient des données personnelles, elle est supprimée lors de la désinstallation, quel que soit le réglage de nettoyage.

as24ci_content_studio_jobs (tâches du Content Studio)

Stocke une ligne par tâche de génération du Content Studio. Les colonnes incluent id, vehicle_post_id, vehicle_snapshot_hash, content_type, platform_preset, output_format, preset_key, status (draft, queued, processing, ready, failed), prompt_payload, provider, model, language, tone, attempts, last_error, created_by, created_at, updated_at, started_at, completed_at. Les index couvrent vehicle_post_id, (status, created_at), platform_preset et content_type.

as24ci_content_studio_assets (ressources du Content Studio)

Stocke les ressources générées liées à une tâche par job_id. Les colonnes incluent id, job_id, vehicle_post_id, asset_type, file_path, file_url, mime_type, file_size, width, height, duration_seconds, caption, hashtags, alt_text, thumbnail_path, payload_json, scheduled_at, schedule_status (unscheduled, scheduled), created_at. Les index couvrent job_id, vehicle_post_id, asset_type, created_at, schedule_status et scheduled_at.

Types de publication personnalisés

Type de publicationPublicA une archiveStocké dansObjectif
as24ci_carOuiOuiwp_posts, wp_postmeta (ancre) + table personnalisée {prefix}as24_vehicles (données de champ)Véhicules importés. Lié de manière biunivoque à une ligne dans as24_vehicles par post_id.
as24ci_leadNonNonwp_posts, wp_postmetaSoumissions de formulaires de contact et de demandes d'essai routier.

Les emplacements des concessionnaires ne sont pas un type de publication personnalisé. Ils sont stockés sous forme d'un tableau unique dans l'option WordPress as24ci_locations et affichés via les shortcodes d'emplacement/heures d'ouverture.

Les taxonomies as24ci_car et les champs de véhicule les plus utilisés sont dupliqués dans les métadonnées de publication avec le préfixe _as24ci_ pour la compatibilité avec le thème (par exemple _as24ci_listing_id, _as24ci_make, _as24ci_model, _as24ci_price, _as24ci_mileage, _as24ci_image_ids, _as24ci_manual_image_ids).

Les publications as24ci_lead portent des clés méta telles que _as24ci_lead_name, _as24ci_lead_email, _as24ci_lead_phone, _as24ci_lead_message, _as24ci_lead_vehicle_id, _as24ci_lead_vehicle_title, _as24ci_lead_date, _as24ci_lead_is_test_drive, _as24ci_lead_appointment_date, _as24ci_lead_status.

Taxonomies des véhicules

L'extension enregistre 15 taxonomies d'attributs de véhicules, toutes rattachées à as24ci_car :

  • Marque
  • Modèle
  • Forme de carrosserie
  • État
  • Type de carburant
  • Boîte de vitesses
  • Transmission
  • Couleur extérieure
  • Couleur intérieure
  • Norme d'émission
  • Label énergétique
  • Catégorie de véhicule
  • Configuration des cylindres
  • Type de garantie
  • Détails de la garantie

Vérifiez les slugs exacts dans AS24CI\Taxonomies (voir Types de publication personnalisés et taxonomies) avant de publier du code prenant en compte les taxonomies.

Tables de base WordPress utilisées

L'extension ne modifie pas le schéma des tables de base WordPress. Elle les utilise comme suit :

  • wp_posts — stocke les types de publication as24ci_car et as24ci_lead. (Les emplacements ne sont pas un type de publication ; ils résident dans l'option as24ci_locations.)
  • wp_postmeta — stocke les métadonnées de publication pour la compatibilité descendante et le statut des leads.
  • wp_terms, wp_term_taxonomy, wp_term_relationships — stockent les 15 taxonomies de véhicules.
  • wp_options — stocke tous les réglages de l'extension, les marqueurs de version de schéma et les identifiants des pages créées lors de l'activation.
  • wp_users et wp_usermeta — utilisés indirectement via les capacités WordPress et les métadonnées utilisateur du profil de concessionnaire.

Capacités et rôles

L'extension gère un ensemble de capacités personnalisées stocké dans wp_user_roles (l'option WordPress standard) :

  • Rôle personnalisé : as24ci_editor.
  • Capacités personnalisées : l'ensemble de capacités as24ci_car et as24ci_cars, plus la capacité de gestion de l'extension manage_as24_imports.

Transients

Utilisés pour les caches à courte durée de vie et les verrous inter-requêtes.

TransientDurée de vie (approx.)Objectif
as24ci_cron_import_running~40 minVerrou à exécution unique pour le lanceur d'importation.
as24ci_image_queue_running~10 minVerrou à exécution unique pour le processus de file d'attente des images.
as24ci_batch_queuen/aCharge utile de la file d'attente de lots en attente pour le Batch-Wizard.
as24ci_access_tokenExpiration du jetonCache du jeton d'accès OAuth.
as24ci_gemini_modelsSpécifique au fournisseurListe mise en cache des modèles Gemini gérés.
as24ci_dashboard_page_data, as24ci_dashboard_api_status_v2n/aCaches du tableau de bord.
as24ci_dw_overview, as24ci_dw_ai_monitor, as24ci_dw_performance, as24ci_dw_recent_leads, as24ci_dw_pricing_inteln/aCaches des widgets du tableau de bord.
as24ci_analytics_tab_{view}n/aCaches de l'onglet d'analyse.
as24ci_health_ping_{service}n/aCaches de ping du bilan de santé.
as24ci_import_{job_id}n/aEnregistrement de la progression par importation.
as24ci_ai_kb_index_v1, as24ci_docs_v1_{path}, as24ci_models_cache_{hash}n/aCaches de la base de connaissances de l'IA / de la documentation.
as24ci_rate_{email}n/aLimite de débit par e-mail pour le formulaire de contact.
as24ci_analytics_market_inteln/aCache du moteur de tarification.

Les verrous obsolètes (plus anciens que la durée de vie) sont nettoyés automatiquement par le lanceur suivant.

Stockage du système de fichiers

  • Les images importées sont stockées en tant que pièces jointes WordPress standard sous le répertoire des téléversements WordPress. Elles sont référencées depuis les véhicules via _as24ci_image_ids.
  • Les images de galerie téléversées manuellement sont référencées via _as24ci_manual_image_ids. Celles-ci ne sont jamais supprimées automatiquement par le programme de désinstallation.
  • Les journaux de l'extension sont écrits dans un fichier journal géré par l'extension avec une rotation automatique à une limite de 10 Mo. Le chemin exact est affiché dans l'onglet d'administration Journaux.

Comportement à la désinstallation

uninstall.php effectue toujours :

  • La suppression des cinq tables personnalisées ({prefix}as24_vehicles, {prefix}as24ci_analytics, {prefix}as24ci_search_agents, {prefix}as24ci_content_studio_jobs, {prefix}as24ci_content_studio_assets).
  • La suppression des options de version de schéma correspondantes.
  • La suppression du verrou d'importation et des transients de jeton OAuth.
  • L'effacement des événements cron planifiés de l'extension.

Supprimés uniquement lorsque as24ci_delete_data_on_uninstall est '1' :

  • Toutes les publications as24ci_car.
  • Toutes les publications as24ci_lead.
  • Les pièces jointes importées référencées dans _as24ci_image_ids.
  • Les pages dont les identifiants sont stockés dans as24ci_page_archive_id, as24ci_page_compare_id et as24ci_page_favorites_id.

Jamais supprimés automatiquement :

  • Les images téléversées manuellement référencées dans _as24ci_manual_image_ids.
  • Les métadonnées de profil utilisateur du concessionnaire (les clés de métadonnées utilisateur as24ci_seller_*).

Sur les installations multisites, la même logique est appliquée par site.

Notes opérationnelles

  • Les mises à niveau de schéma sont idempotentes. Chaque classe propriétaire vérifie son option de version de schéma et quitte rapidement lorsque la table correspond déjà à la version attendue.
  • Des requêtes directes wpdb sur les tables personnalisées existent dans les chemins de code du répertoire, de l'analyse, de l'agent de recherche et de la désinstallation. Le code personnalisé qui contourne le répertoire doit traiter le schéma comme faisant partie du contrat interne de l'extension.
  • Traitez les colonnes raw_data, equipment_* et images comme des blobs opaques et accédez-y via les assistants du répertoire lorsque cela est possible.

Documents connexes