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:

  1. Benutzerdefinierte Datenbanktabellen für Fahrzeuge, Analytics-Events, Suchabo-Abonnements und Content Studio-Jobs/Assets.
  2. Custom Post Types für Fahrzeuge, Leads und Standorte, gespeichert in wp_posts und wp_postmeta.
  3. Benutzerdefinierte Taxonomien, gespeichert in wp_terms, wp_term_taxonomy und wp_term_relationships.
  4. WordPress-Optionen in wp_options (alle mit dem Präfix as24ci_). Siehe Settings Reference.
  5. 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.

TabellensuffixEigentümerSchema-Version-OptionZweck
as24_vehiclesAS24CI\Vehicle_Repositoryas24ci_vehicles_db_versionEine Zeile pro importiertem Fahrzeug, indiziert für Archivabfragen.
as24ci_analyticsAS24CI\Analyticsas24ci_analytics_db_versionAnalytics-Events (Aufrufe, Filtersuchen, Kontaktöffnungen, Lead-Übermittlungen).
as24ci_search_agentsAS24CI\Search_Agentas24ci_search_agent_db_versionSuchabo-Abonnements von Besuchern (Smart Stock Alerts).
as24ci_content_studio_jobsAS24CI\Content_Studio_Repositoryas24ci_content_studio_db_versionEine Zeile pro Content Studio-Generierungsjob.
as24ci_content_studio_assetsAS24CI\Content_Studio_Repositoryas24ci_content_studio_db_versionGenerierte 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ÖffentlichHat ArchivGespeichert inZweck
as24ci_carJaJawp_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_leadNeinNeinwp_posts, wp_postmetaKontaktformular- 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-Typen as24ci_car und as24ci_lead. (Standorte sind kein Post-Typ; sie befinden sich in der Option as24ci_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_users und wp_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_car und as24ci_cars sowie die Plugin-Verwaltungs-Capability manage_as24_imports.

Transients

Werden für kurzlebige Caches und anforderungsübergreifende Sperren (Locks) verwendet.

TransientTTL (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_queuen. v.Ausstehende Batch-Queue-Nutzlast für den Batch-Wizard.
as24ci_access_tokenToken-AblaufCache für den OAuth-Access-Token.
as24ci_gemini_modelsProvider-spezifischCache der verwalteten Gemini-Modellliste.
as24ci_dashboard_page_data, as24ci_dashboard_api_status_v2n. v.Dashboard-Caches.
as24ci_dw_overview, as24ci_dw_ai_monitor, as24ci_dw_performance, as24ci_dw_recent_leads, as24ci_dw_pricing_inteln. 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_inteln. 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_ids referenziert.
  • Manuell hochgeladene Galeriebilder werden über _as24ci_manual_image_ids referenziert. 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_ids referenziert werden.
  • Die Seiten, deren IDs in as24ci_page_archive_id, as24ci_page_compare_id und as24ci_page_favorites_id gespeichert sind.

Niemals automatisch entfernt:

  • Manuell hochgeladene Bilder, die in _as24ci_manual_image_ids referenziert 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_* und images als opake Blobs und greifen Sie nach Möglichkeit über die Repository-Hilfsfunktionen darauf zu.

Verwandte Dokumente