Documentazione · Appendici

Riferimento a database e archiviazione

Questa appendice elenca le tabelle di database personalizzate, i custom post type, le tassonomie e le posizioni di archiviazione utilizzate dal plugin ADP Car Market Hub.

Quando utilizzare questo documento

Utilizzare questo riferimento quando si pianificano i backup, si creano report, si diagnosticano problemi di schema o si esegue un controllo dei dati conservati dal plugin. Per il modello concettuale delle entità e i dettagli dello schema, consultare Database Schema, Data Model e Custom Post Types And Taxonomies.

Panoramica

Il plugin memorizza i dati in cinque posizioni:

  1. Tabelle di database personalizzate per veicoli, eventi di analytics, iscrizioni agli avvisi di ricerca e processi/asset di Content Studio.
  2. Custom post type per veicoli, lead e sedi, memorizzati in wp_posts e wp_postmeta.
  3. Tassonomie personalizzate memorizzate in wp_terms, wp_term_taxonomy e wp_term_relationships.
  4. Opzioni di WordPress in wp_options (tutte con prefisso as24ci_). Vedere Settings Reference.
  5. Transient per cache e blocchi a breve termine.

Tabelle di database personalizzate

Tutte le tabelle utilizzano il prefisso WordPress (tipicamente wp_). Tutte e cinque le tabelle personalizzate vengono rimosse al momento della disinstallazione, indipendentemente da as24ci_delete_data_on_uninstall, poiché potrebbero contenere dati personali o dei visitatori.

Suffisso tabellaProprietarioOpzione versione schemaScopo
as24_vehiclesAS24CI\Vehicle_Repositoryas24ci_vehicles_db_versionUna riga per veicolo importato, indicizzata per le query di archivio.
as24ci_analyticsAS24CI\Analyticsas24ci_analytics_db_versionEventi di analytics (visualizzazioni, ricerche con filtri, aperture contatti, invii di lead).
as24ci_search_agentsAS24CI\Search_Agentas24ci_search_agent_db_versionIscrizioni agli avvisi di ricerca dei visitatori (Smart Stock Alerts).
as24ci_content_studio_jobsAS24CI\Content_Studio_Repositoryas24ci_content_studio_db_versionUna riga per ogni processo di generazione di Content Studio.
as24ci_content_studio_assetsAS24CI\Content_Studio_Repositoryas24ci_content_studio_db_versionAsset generati da Content Studio, collegati a un processo tramite job_id.

as24_vehicles (repository dei veicoli)

Contiene una riga per veicolo, collegata al relativo post as24ci_car tramite post_id. La colonna as24_id contiene l'identificativo dell'annuncio AutoScout24. Entrambe le colonne hanno indici univoci. Le colonne degne di nota includono 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.

Gli indici includono chiavi univoche su as24_id e post_id, oltre a indici secondari su make/model, price, mileage, first_reg_year, fuel_type/condition_type, status/is_live e content_hash. Vedere Database Schema per l'elenco completo delle colonne e dei tipi.

as24ci_analytics (eventi di analytics)

Memorizza una riga per ogni evento tracciato. Colonne: id, post_id (0 per gli eventi globali), event_type, extra_data (JSON opzionale), created_at. Gli indici coprono (post_id, event_type, created_at), (event_type, created_at) e created_at. Gli inserimenti avvengono solo quando le analytics sono abilitate. Un processo di conservazione giornaliero viene eseguito tramite l'hook cron as24ci_daily_cleanup e rimuove le righe più vecchie della finestra di conservazione configurata.

as24ci_search_agents (Smart Stock Alerts)

Memorizza le iscrizioni dei visitatori. Colonne: id, name, email, criteria, token, frequency, status (pending, active, inactive, paused), created_at, confirmed_at. Gli indici coprono status e token. Poiché la tabella contiene dati personali, viene rimossa al momento della disinstallazione, indipendentemente dall'impostazione di pulizia.

as24ci_content_studio_jobs (processi Content Studio)

Memorizza una riga per ogni processo di generazione di Content Studio. Le colonne includono 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. Gli indici coprono vehicle_post_id, (status, created_at), platform_preset e content_type.

as24ci_content_studio_assets (asset Content Studio)

Memorizza gli asset generati collegati a un processo tramite job_id. Le colonne includono 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. Gli indici coprono job_id, vehicle_post_id, asset_type, created_at, schedule_status e scheduled_at.

Custom post type

Post typePubblicoHa archivioMemorizzato inScopo
as24ci_carwp_posts, wp_postmeta (ancora) + tabella personalizzata {prefix}as24_vehicles (dati dei campi)Veicoli importati. Collegato uno-a-uno a una riga in as24_vehicles tramite post_id.
as24ci_leadNoNowp_posts, wp_postmetaInvii di moduli di contatto e richieste di test drive.

Le sedi dei concessionari non sono un custom post type. Sono memorizzate come un singolo array nell'opzione WordPress as24ci_locations e renderizzate tramite gli shortcode delle sedi/orari di apertura.

Le tassonomie as24ci_car e i campi dei veicoli più utilizzati sono specchiati nei post meta con il prefisso _as24ci_ per compatibilità con i temi (ad esempio _as24ci_listing_id, _as24ci_make, _as24ci_model, _as24ci_price, _as24ci_mileage, _as24ci_image_ids, _as24ci_manual_image_ids).

I post as24ci_lead contengono chiavi meta come _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.

Tassonomie dei veicoli

Il plugin registra 15 tassonomie per gli attributi dei veicoli, tutte collegate a as24ci_car:

  • Marca
  • Modello
  • Tipo di carrozzeria
  • Stato d'uso
  • Tipo di carburante
  • Cambio
  • Trazione
  • Colore esterno
  • Colore interno
  • Classe emissioni
  • Etichetta energetica
  • Categoria del veicolo
  • Disposizione dei cilindri
  • Tipo di garanzia
  • Dettagli della garanzia

Verificare gli slug esatti in AS24CI\Taxonomies (vedere Custom Post Types And Taxonomies) prima di pubblicare codice che utilizzi le tassonomie.

Tabelle core di WordPress utilizzate

Il plugin non modifica lo schema delle tabelle core di WordPress. Le utilizza come segue:

  • wp_posts — memorizza i post type as24ci_car e as24ci_lead. (Le sedi non sono un post type; risiedono nell'opzione as24ci_locations.)
  • wp_postmeta — memorizza i post meta per la compatibilità retroattiva e lo stato dei lead.
  • wp_terms, wp_term_taxonomy, wp_term_relationships — memorizzano le 15 tassonomie dei veicoli.
  • wp_options — memorizza tutte le impostazioni del plugin, i marcatori di versione dello schema e gli ID delle pagine create all'attivazione.
  • wp_users e wp_usermeta — utilizzate indirettamente tramite le funzionalità di WordPress e i meta utente del profilo del concessionario.

Funzionalità e ruoli

Il plugin gestisce un set di funzionalità personalizzate memorizzato in wp_user_roles (l'opzione standard di WordPress):

  • Ruolo personalizzato: as24ci_editor.
  • Funzionalità personalizzate: il set di funzionalità as24ci_car e as24ci_cars, oltre alla funzionalità di gestione del plugin manage_as24_imports.

Transient

Utilizzati per cache a breve termine e blocchi tra richieste diverse.

TransientTTL (appross.)Scopo
as24ci_cron_import_running~40 minBlocco a esecuzione singola per l'importatore.
as24ci_image_queue_running~10 minBlocco a esecuzione singola per l'elaboratore della coda immagini.
as24ci_batch_queuen/dPayload della coda di batch in sospeso per il Batch-Wizard.
as24ci_access_tokenScadenza tokenCache del token di accesso OAuth.
as24ci_gemini_modelsSpecifico del providerElenco memorizzato nella cache dei modelli Gemini gestiti.
as24ci_dashboard_page_data, as24ci_dashboard_api_status_v2n/dCache della Dashboard.
as24ci_dw_overview, as24ci_dw_ai_monitor, as24ci_dw_performance, as24ci_dw_recent_leads, as24ci_dw_pricing_inteln/dCache dei widget della Dashboard.
as24ci_analytics_tab_{view}n/dCache della scheda Analytics.
as24ci_health_ping_{service}n/dCache dei ping di controllo dello stato (health check).
as24ci_import_{job_id}n/dRecord di avanzamento per singola importazione.
as24ci_ai_kb_index_v1, as24ci_docs_v1_{path}, as24ci_models_cache_{hash}n/dCache della documentazione / knowledge base dell'IA.
as24ci_rate_{email}n/dLimite di frequenza per email del modulo di contatto.
as24ci_analytics_market_inteln/dCache del motore di determinazione dei prezzi.

I blocchi obsoleti (più vecchi del TTL) vengono cancellati automaticamente dall'esecuzione successiva.

Archiviazione nel file system

  • Le immagini importate sono memorizzate come allegati standard di WordPress nella directory dei caricamenti WordPress. Sono referenziate dai veicoli tramite _as24ci_image_ids.
  • Le immagini della galleria caricate manualmente sono referenziate tramite _as24ci_manual_image_ids. Queste non vengono mai eliminate automaticamente dal programma di disinstallazione.
  • I log del plugin vengono scritti in un file di log gestito dal plugin con rotazione automatica al raggiungimento del limite di 10 MB. Il percorso esatto è mostrato nella scheda di amministrazione Logs.

Comportamento alla disinstallazione

uninstall.php esegue sempre le seguenti operazioni:

  • Elimina le cinque tabelle personalizzate ({prefix}as24_vehicles, {prefix}as24ci_analytics, {prefix}as24ci_search_agents, {prefix}as24ci_content_studio_jobs, {prefix}as24ci_content_studio_assets).
  • Rimuove le opzioni corrispondenti alla versione dello schema.
  • Elimina il blocco di importazione e i transient dei token OAuth.
  • Cancella gli eventi cron pianificati del plugin.

Rimosso solo quando as24ci_delete_data_on_uninstall è '1':

  • Tutti i post as24ci_car.
  • Tutti i post as24ci_lead.
  • Gli allegati importati referenziati in _as24ci_image_ids.
  • Le pagine i cui ID sono memorizzati in as24ci_page_archive_id, as24ci_page_compare_id e as24ci_page_favorites_id.

Mai rimosso automaticamente:

  • Immagini caricate manualmente referenziate in _as24ci_manual_image_ids.
  • Meta del profilo utente del concessionario (le chiavi meta utente as24ci_seller_*).

Nelle installazioni multisito, la stessa logica viene applicata per singolo sito.

Note operative

  • Gli aggiornamenti dello schema sono idempotenti. Ogni classe proprietaria controlla la propria opzione di versione dello schema ed esce rapidamente se la tabella corrisponde già alla versione prevista.
  • Le query dirette wpdb sulle tabelle personalizzate sono presenti nei percorsi di codice del repository, delle analytics, del search-agent e della disinstallazione. Il codice personalizzato che bypassa il repository dovrebbe trattare lo schema come parte del contratto interno del plugin.
  • Trattare le colonne raw_data, equipment_* e images come blob opachi e accedervi tramite gli helper del repository quando possibile.

Documenti correlati