Dokumentation · Anhänge
Datenbank- und Speicherreferenz
Diese Sektion ist die Referenz für die benutzerdefinierten Datenbanktabellen, Custom Post Types, Taxonomien und Speicherorte, die vom ADP Car Market Hub-Plugin verwendet werden.
Wann Sie dieses Dokument verwenden sollten
Verwenden Sie diese Referenz bei der Planung von Backups, der Erstellung von Berichten, der Diagnose von Schema-Problemen oder der Überprüfung, welche Daten das Plugin speichert. Für das konzeptionelle Entitätsmodell und Schema-Details siehe Database Schema, Data Model und Custom Post Types And Taxonomies.
Übersicht
Das Plugin speichert Daten an fünf Orten:
- Benutzerdefinierte Datenbanktabellen für Fahrzeuge, Analytics-Events, Suchabo-Abonnements und Content Studio-Jobs/Assets.
- Custom Post Types für Fahrzeuge, Leads und Standorte, gespeichert in
wp_postsundwp_postmeta. - Benutzerdefinierte Taxonomien, gespeichert in
wp_terms,wp_term_taxonomyundwp_term_relationships. - WordPress-Optionen in
wp_options(alle mit dem Präfixas24ci_). Siehe Settings Reference. - Transients für kurzlebige Caches und Sperren (Locks).
Benutzerdefinierte Datenbanktabellen
Alle Tabellen verwenden das Präfix WordPress (normalerweise wp_). Alle fünf benutzerdefinierten Tabellen werden bei der Deinstallation gelöscht, unabhängig von as24ci_delete_data_on_uninstall, da sie Besucher- oder personenbezogene Daten enthalten können.
| Tabellensuffix | Eigentümer | Schema-Version-Option | Zweck |
|---|---|---|---|
as24_vehicles | AS24CI\Vehicle_Repository | as24ci_vehicles_db_version | Eine Zeile pro importiertem Fahrzeug, indiziert für Archivabfragen. |
as24ci_analytics | AS24CI\Analytics | as24ci_analytics_db_version | Analytics-Events (Aufrufe, Filtersuchen, Kontaktöffnungen, Lead-Übermittlungen). |
as24ci_search_agents | AS24CI\Search_Agent | as24ci_search_agent_db_version | Suchabo-Abonnements von Besuchern (Smart Stock Alerts). |
as24ci_content_studio_jobs | AS24CI\Content_Studio_Repository | as24ci_content_studio_db_version | Eine Zeile pro Content Studio-Generierungsjob. |
as24ci_content_studio_assets | AS24CI\Content_Studio_Repository | as24ci_content_studio_db_version | Generierte Content Studio-Assets, verknüpft mit einem Job über job_id. |
as24_vehicles (Fahrzeug-Repository)
Hält eine Zeile pro Fahrzeug, verknüpft mit seinem as24ci_car-Post über post_id. Die Spalte as24_id enthält den AutoScout24-Listing-Identifikator. Beide Spalten haben eindeutige Indizes. Wichtige Spalten sind unter anderem 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.
Die Indizes umfassen eindeutige Schlüssel für as24_id und post_id sowie sekundäre Indizes für make/model, price, mileage, first_reg_year, fuel_type/condition_type, status/is_live und content_hash. Siehe Database Schema für die vollständige Spaltenliste und Typen.
as24ci_analytics (Analytics-Events)
Speichert eine Zeile pro getracktem Event. Spalten: id, post_id (0 für globale Events), event_type, extra_data (optionales JSON), created_at. Indizes decken (post_id, event_type, created_at), (event_type, created_at) und created_at ab. Inserts erfolgen nur, wenn Analytics aktiviert ist. Ein täglicher Bereinigungsjob läuft über den Cron-Hook as24ci_daily_cleanup und entfernt Zeilen, die älter als das konfigurierte Aufbewahrungsfenster sind.
as24ci_search_agents (Smart Stock Alerts)
Speichert Abonnements von Besuchern. Spalten: id, name, email, criteria, token, frequency, status (pending, active, inactive, paused), created_at, confirmed_at. Indizes decken status und token ab. Da die Tabelle personenbezogene Daten enthält, wird sie bei der Deinstallation unabhängig von der Bereinigungseinstellung gelöscht.
as24ci_content_studio_jobs (Content Studio-Jobs)
Speichert eine Zeile pro Content Studio-Generierungsjob. Die Spalten umfassen 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. Indizes decken vehicle_post_id, (status, created_at), platform_preset und content_type ab.
as24ci_content_studio_assets (Content Studio-Assets)
Speichert generierte Assets, die über job_id mit einem Job verknüpft sind. Die Spalten umfassen 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. Indizes decken job_id, vehicle_post_id, asset_type, created_at, schedule_status und scheduled_at ab.
Custom Post Types
| Post-Typ | Öffentlich | Hat Archiv | Gespeichert in | Zweck |
|---|---|---|---|---|
as24ci_car | Ja | Ja | wp_posts, wp_postmeta (Anker) + benutzerdefinierte Tabelle {prefix}as24_vehicles (Felddaten) | Importierte Fahrzeuge. Über post_id eins-zu-eins mit einer Zeile in as24_vehicles verknüpft. |
as24ci_lead | Nein | Nein | wp_posts, wp_postmeta | Kontaktformular- und Probefahrt-Übermittlungen. |
Garagen-Standorte sind kein Custom Post Type. Sie werden als einzelnes Array in der as24ci_locations WordPress-Option gespeichert und über die Standort-/Öffnungszeiten-Shortcodes ausgegeben.
Die as24ci_car-Taxonomien und die am häufigsten verwendeten Fahrzeugfelder werden zur Theme-Kompatibilität in das Post-Meta mit dem Präfix _as24ci_ gespiegelt (zum Beispiel _as24ci_listing_id, _as24ci_make, _as24ci_model, _as24ci_price, _as24ci_mileage, _as24ci_image_ids, _as24ci_manual_image_ids).
as24ci_lead-Posts tragen Meta-Schlüssel wie _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.
Fahrzeug-Taxonomien
Das Plugin registriert 15 Fahrzeugattribut-Taxonomien, die alle an as24ci_car angehängt sind:
- Marke
- Modell
- Karosserieform
- Zustand
- Treibstoff
- Getriebe
- Antrieb
- Aussenfarbe
- Innenfarbe
- Schadstoffklasse
- Energieeffizienz
- Fahrzeugkategorie
- Zylinderanordnung
- Garantieart
- Garantiedetails
Überprüfen Sie die genauen Slugs in AS24CI\Taxonomies (siehe Custom Post Types And Taxonomies), bevor Sie Code veröffentlichen, der Taxonomien verwendet.
Verwendete WordPress-Core-Tabellen
Das Plugin verändert das Schema der WordPress-Core-Tabellen nicht. Es verwendet sie wie folgt:
wp_posts— speichert die Post-Typenas24ci_carundas24ci_lead. (Standorte sind kein Post-Typ; sie befinden sich in der Optionas24ci_locations.)wp_postmeta— speichert abwärtskompatible Post-Metadaten und den Lead-Status.wp_terms,wp_term_taxonomy,wp_term_relationships— speichern die 15 Fahrzeug-Taxonomien.wp_options— speichert alle Plugin-Einstellungen, Schema-Versionsmarkierungen und die IDs der bei der Aktivierung erstellten Seiten.wp_usersundwp_usermeta— werden indirekt über WordPress-Capabilities und Garagen-Profil-User-Meta verwendet.
Capabilities und Rollen
Das Plugin verwaltet ein Set benutzerdefinierter Capabilities, das in wp_user_roles (der Standard-WordPress-Option) gespeichert ist:
- Benutzerdefinierte Rolle:
as24ci_editor. - Benutzerdefinierte Capabilities: das Capability-Set
as24ci_carundas24ci_carssowie die Plugin-Verwaltungs-Capabilitymanage_as24_imports.
Transients
Werden für kurzlebige Caches und anforderungsübergreifende Sperren (Locks) verwendet.
| Transient | TTL (ca.) | Zweck |
|---|---|---|
as24ci_cron_import_running | ~40 Min. | Einmalige Sperre für den Import-Runner. |
as24ci_image_queue_running | ~10 Min. | Einmalige Sperre für den Image-Queue-Worker. |
as24ci_batch_queue | n. v. | Ausstehende Batch-Queue-Nutzlast für den Batch-Wizard. |
as24ci_access_token | Token-Ablauf | Cache für den OAuth-Access-Token. |
as24ci_gemini_models | Provider-spezifisch | Cache der verwalteten Gemini-Modellliste. |
as24ci_dashboard_page_data, as24ci_dashboard_api_status_v2 | n. v. | Dashboard-Caches. |
as24ci_dw_overview, as24ci_dw_ai_monitor, as24ci_dw_performance, as24ci_dw_recent_leads, as24ci_dw_pricing_intel | n. v. | Dashboard-Widget-Caches. |
as24ci_analytics_tab_{view} | n. v. | Analytics-Tab-Caches. |
as24ci_health_ping_{service} | n. v. | Health-Check-Ping-Caches. |
as24ci_import_{job_id} | n. v. | Fortschrittsaufzeichnung pro Import. |
as24ci_ai_kb_index_v1, as24ci_docs_v1_{path}, as24ci_models_cache_{hash} | n. v. | KI-Wissensdatenbank- / Dokumentations-Caches. |
as24ci_rate_{email} | n. v. | E-Mail-basiertes Rate-Limit für das Kontaktformular. |
as24ci_analytics_market_intel | n. v. | Cache für die Preiskalkulation (Pricing Engine). |
Veraltete Sperren (älter als die TTL) werden beim nächsten Durchlauf automatisch gelöscht.
Dateisystem-Speicher
- Importierte Bilder werden als standardmässige WordPress-Anhänge im Uploads-Verzeichnis WordPress gespeichert. Sie werden von den Fahrzeugen aus über
_as24ci_image_idsreferenziert. - Manuell hochgeladene Galeriebilder werden über
_as24ci_manual_image_idsreferenziert. Diese werden vom Deinstallationsprogramm niemals automatisch gelöscht. - Plugin-Logs werden in eine vom Plugin verwaltete Log-Datei mit automatischer Rotation bei einer Grenze von 10 MB geschrieben. Der genaue Pfad wird im Admin-Tab Logs angezeigt.
Deinstallationsverhalten
uninstall.php führt immer Folgendes aus:
- Löscht die fünf benutzerdefinierten Tabellen (
{prefix}as24_vehicles,{prefix}as24ci_analytics,{prefix}as24ci_search_agents,{prefix}as24ci_content_studio_jobs,{prefix}as24ci_content_studio_assets). - Entfernt die entsprechenden Schema-Versions-Optionen.
- Löscht die Import-Sperren und OAuth-Token-Transients.
- Bereinigt die geplanten Cron-Events des Plugins.
Wird nur entfernt, wenn as24ci_delete_data_on_uninstall auf '1' steht:
- Alle
as24ci_car-Posts. - Alle
as24ci_lead-Posts. - Importierte Anhänge, die in
_as24ci_image_idsreferenziert werden. - Die Seiten, deren IDs in
as24ci_page_archive_id,as24ci_page_compare_idundas24ci_page_favorites_idgespeichert sind.
Niemals automatisch entfernt:
- Manuell hochgeladene Bilder, die in
_as24ci_manual_image_idsreferenziert werden. - Garagen-Benutzerprofil-Metadaten (die
as24ci_seller_*-User-Meta-Schlüssel).
Bei Multisite-Installationen wird dieselbe Logik pro Website angewendet.
Betriebliche Hinweise
- Schema-Upgrades sind idempotent. Jede Eigentümerklasse überprüft ihre Schema-Versions-Option und bricht vorzeitig ab, wenn die Tabelle bereits der erwarteten Version entspricht.
- Direkte
wpdb-Abfragen gegen die benutzerdefinierten Tabellen existieren in den Codepfaden für Repository, Analytics, Suchagent und Deinstallation. Benutzerdefinierter Code, der das Repository umgeht, sollte das Schema als Teil des internen Plugin-Vertrags behandeln. - Behandeln Sie die Spalten
raw_data,equipment_*undimagesals opake Blobs und greifen Sie nach Möglichkeit über die Repository-Hilfsfunktionen darauf zu.