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:
- Tabelle di database personalizzate per veicoli, eventi di analytics, iscrizioni agli avvisi di ricerca e processi/asset di Content Studio.
- Custom post type per veicoli, lead e sedi, memorizzati in
wp_postsewp_postmeta. - Tassonomie personalizzate memorizzate in
wp_terms,wp_term_taxonomyewp_term_relationships. - Opzioni di WordPress in
wp_options(tutte con prefissoas24ci_). Vedere Settings Reference. - 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 tabella | Proprietario | Opzione versione schema | Scopo |
|---|---|---|---|
as24_vehicles | AS24CI\Vehicle_Repository | as24ci_vehicles_db_version | Una riga per veicolo importato, indicizzata per le query di archivio. |
as24ci_analytics | AS24CI\Analytics | as24ci_analytics_db_version | Eventi di analytics (visualizzazioni, ricerche con filtri, aperture contatti, invii di lead). |
as24ci_search_agents | AS24CI\Search_Agent | as24ci_search_agent_db_version | Iscrizioni agli avvisi di ricerca dei visitatori (Smart Stock Alerts). |
as24ci_content_studio_jobs | AS24CI\Content_Studio_Repository | as24ci_content_studio_db_version | Una riga per ogni processo di generazione di Content Studio. |
as24ci_content_studio_assets | AS24CI\Content_Studio_Repository | as24ci_content_studio_db_version | Asset 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 type | Pubblico | Ha archivio | Memorizzato in | Scopo |
|---|---|---|---|---|
as24ci_car | Sì | Sì | wp_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_lead | No | No | wp_posts, wp_postmeta | Invii 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 typeas24ci_careas24ci_lead. (Le sedi non sono un post type; risiedono nell'opzioneas24ci_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_usersewp_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_careas24ci_cars, oltre alla funzionalità di gestione del pluginmanage_as24_imports.
Transient
Utilizzati per cache a breve termine e blocchi tra richieste diverse.
| Transient | TTL (appross.) | Scopo |
|---|---|---|
as24ci_cron_import_running | ~40 min | Blocco a esecuzione singola per l'importatore. |
as24ci_image_queue_running | ~10 min | Blocco a esecuzione singola per l'elaboratore della coda immagini. |
as24ci_batch_queue | n/d | Payload della coda di batch in sospeso per il Batch-Wizard. |
as24ci_access_token | Scadenza token | Cache del token di accesso OAuth. |
as24ci_gemini_models | Specifico del provider | Elenco memorizzato nella cache dei modelli Gemini gestiti. |
as24ci_dashboard_page_data, as24ci_dashboard_api_status_v2 | n/d | Cache della Dashboard. |
as24ci_dw_overview, as24ci_dw_ai_monitor, as24ci_dw_performance, as24ci_dw_recent_leads, as24ci_dw_pricing_intel | n/d | Cache dei widget della Dashboard. |
as24ci_analytics_tab_{view} | n/d | Cache della scheda Analytics. |
as24ci_health_ping_{service} | n/d | Cache dei ping di controllo dello stato (health check). |
as24ci_import_{job_id} | n/d | Record di avanzamento per singola importazione. |
as24ci_ai_kb_index_v1, as24ci_docs_v1_{path}, as24ci_models_cache_{hash} | n/d | Cache della documentazione / knowledge base dell'IA. |
as24ci_rate_{email} | n/d | Limite di frequenza per email del modulo di contatto. |
as24ci_analytics_market_intel | n/d | Cache 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_ideas24ci_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
wpdbsulle 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_*eimagescome blob opachi e accedervi tramite gli helper del repository quando possibile.