Dokumentation · Anhänge

Datenbank- und Speicher-Referenz

Dieser Anhang listet die benutzerdefinierten Datenbanktabellen, Post-Typen, Taxonomien und Speicherorte auf, die vom ADP Car Market Hub-Plugin verwendet werden.

Wann dieses Dokument zu verwenden ist

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-Ereignisse, Suchauftrag-Abonnements und Content Studio-Jobs/Assets.
  2. Benutzerdefinierte Post-Typen 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.

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.

Tabellen-SuffixEigentümerSchema-VersionsoptionZweck
as24_vehiclesAS24CI\Vehicle_Repositoryas24ci_vehicles_db_versionEine Zeile pro importiertem Fahrzeug, indiziert für Archiv-Abfragen.
as24ci_analyticsAS24CI\Analyticsas24ci_analytics_db_versionAnalytics-Ereignisse (Aufrufe, Filtersuchen, Kontakt-Öffnungen, Lead-Einsendungen).
as24ci_search_agentsAS24CI\Search_Agentas24ci_search_agent_db_versionSuchauftrag-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 die AutoScout24-Listing-ID. Beide Spalten verfügen über 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-Ereignisse)

Speichert eine Zeile pro erfasstem Ereignis. Spalten: id, post_id (0 für globale Ereignisse), 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.

Benutzerdefinierte Post-Typen

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_postmetaEinsendungen von Kontaktformularen und Probefahrten.

Standorte von Autohäusern sind kein benutzerdefinierter Post-Typ. Sie werden als einzelnes Array in der WordPress-Option as24ci_locations gespeichert und über die Shortcodes für Standorte/Öffnungszeiten ausgegeben.

Die as24ci_car-Taxonomien und die am häufigsten verwendeten Fahrzeugfelder werden zur Theme-Kompatibilität mit dem Präfix _as24ci_ in die Post-Meta 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
  • Kraftstoffart
  • Getriebe
  • Antrieb
  • Außenfarbe
  • Innenfarbe
  • Schadstoffklasse
  • Energielabel
  • 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 nicht das Schema der WordPress-Core-Tabellen. 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-Meta und den Lead-Status.
  • wp_terms, wp_term_taxonomy, wp_term_relationships — speichern die 15 Fahrzeug-Taxonomien.
  • wp_options — speichert alle Plugin-Einstellungen, Schema-Versionsmarker und die IDs der bei der Aktivierung erstellten Seiten.
  • wp_users und wp_usermeta — werden indirekt über WordPress-Berechtigungen und Benutzer-Meta des Autohaus-Profils verwendet.

Berechtigungen und Rollen

Das Plugin verwaltet einen benutzerdefinierten Berechtigungssatz, der in wp_user_roles (der standardmäßigen WordPress-Option) gespeichert ist:

  • Benutzerdefinierte Rolle: as24ci_editor.
  • Benutzerdefinierte Berechtigungen: der Berechtigungssatz für as24ci_car und as24ci_cars sowie die Plugin-Verwaltungsberechtigung manage_as24_imports.

Transients

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

TransientTTL (ca.)Zweck
as24ci_cron_import_running~40 Min.Einzelsperre für den Import-Runner.
as24ci_image_queue_running~10 Min.Einzelsperre für den Image-Queue-Worker.
as24ci_batch_queuen. v.Ausstehende Batch-Queue-Nutzdaten für den Batch-Wizard.
as24ci_access_tokenToken-AblaufCache für den OAuth-Zugriffstoken.
as24ci_gemini_modelsProvider-spezifischCache für die Liste der verwalteten Gemini-Modelle.
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 Ratenlimit für das Kontaktformular.
as24ci_analytics_market_inteln. v.Cache der Preisfindungs-Engine.

Veraltete Sperren (älter als die TTL) werden beim nächsten Durchlauf automatisch gelöscht.

Dateisystem-Speicher

  • Importierte Bilder werden als standardmäßige WordPress-Anhänge im Uploads-Verzeichnis WordPress gespeichert. Sie werden von 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-Protokolle werden in eine vom Plugin verwaltete Protokolldatei mit automatischer Rotation bei einer Grenze von 10 MB geschrieben. Der genaue Pfad wird im Admin-Tab Protokolle angezeigt.

Verhalten bei Deinstallation

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 passenden Schema-Versionsoptionen.
  • Löscht die Transients für Importsperren und OAuth-Token.
  • Bereinigt die geplanten Cron-Ereignisse 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 sind.
  • 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 sind.
  • Benutzerprofil-Meta des Autohauses (die as24ci_seller_*-Benutzermeta-Schlüssel).

Bei Multisite-Installationen wird dieselbe Logik pro Website angewendet.

Betriebliche Hinweise

  • Schema-Upgrades sind idempotent. Jede Eigentümerklasse überprüft ihre Schema-Versionsoption 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 Vertrags des Plugins behandeln.
  • Behandeln Sie die Spalten raw_data, equipment_* und images als opake Blobs und greifen Sie nach Möglichkeit über die Repository-Hilfsmethoden darauf zu.

Verwandte Dokumente