Documentatie · Bijlagen
Database- en opslagreferentie
Deze bijlage bevat een overzicht van de aangepaste databasetabellen, post types, taxonomieën en opslaglocaties die worden gebruikt door de ADP Car Market Hub-plugin.
Wanneer u dit document moet gebruiken
Gebruik deze referentie bij het plannen van back-ups, het bouwen van rapporten, het diagnosticeren van schemaproblemen of het controleren van de gegevens die de plugin bewaart. Zie Database Schema, Data Model en Custom Post Types And Taxonomies voor het conceptuele entiteitsmodel en de schemadetails.
Overzicht
De plugin slaat gegevens op vijf plaatsen op:
- Aangepaste databasetabellen voor voertuigen, analytics-gebeurtenissen, zoekalert-abonnementen en Content Studio-taken/assets.
- Aangepaste post types voor voertuigen, leads en locaties, opgeslagen in
wp_postsenwp_postmeta. - Aangepaste taxonomieën opgeslagen in
wp_terms,wp_term_taxonomyenwp_term_relationships. - WordPress-opties in
wp_options(allemaal met het voorvoegselas24ci_). Zie Settings Reference. - Transients voor kortstondige caches en vergrendelingen (locks).
Aangepaste databasetabellen
Alle tabellen gebruiken het WordPress-voorvoegsel (meestal wp_). Alle vijf de aangepaste tabellen worden verwijderd bij het deïnstalleren, ongeacht as24ci_delete_data_on_uninstall, omdat ze bezoekers- of persoonlijke gegevens kunnen bevatten.
| Tabel-achtervoegsel | Eigenaar | Optie voor schemaversie | Doel |
|---|---|---|---|
as24_vehicles | AS24CI\Vehicle_Repository | as24ci_vehicles_db_version | Eén rij per geïmporteerd voertuig, geïndexeerd voor archiefquery's. |
as24ci_analytics | AS24CI\Analytics | as24ci_analytics_db_version | Analytics-gebeurtenissen (weergaven, filterzoekopdrachten, geopende contacten, lead-inzendingen). |
as24ci_search_agents | AS24CI\Search_Agent | as24ci_search_agent_db_version | Zoekalert-abonnementen van bezoekers (Smart Stock Alerts). |
as24ci_content_studio_jobs | AS24CI\Content_Studio_Repository | as24ci_content_studio_db_version | Eén rij per Content Studio-generatietaak. |
as24ci_content_studio_assets | AS24CI\Content_Studio_Repository | as24ci_content_studio_db_version | Gegenereerde Content Studio-assets, gekoppeld aan een taak via job_id. |
as24_vehicles (voertuigen-repository)
Houdt één rij per voertuig bij, gekoppeld aan de bijbehorende as24ci_car-post via post_id. De kolom as24_id bevat de AutoScout24-listing-ID. Beide kolommen hebben unieke indexen. Belangrijke kolommen zijn onder andere 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.
Indexen omvatten unieke sleutels op as24_id en post_id, plus secundaire indexen op make/model, price, mileage, first_reg_year, fuel_type/condition_type, status/is_live en content_hash. Zie Database Schema voor de volledige lijst met kolommen en typen.
as24ci_analytics (analytics-gebeurtenissen)
Slaat één rij op per bijgehouden gebeurtenis. Kolommen: id, post_id (0 voor globale gebeurtenissen), event_type, extra_data (optionele JSON), created_at. Indexen dekken (post_id, event_type, created_at), (event_type, created_at) en created_at. Toevoegingen vinden alleen plaats wanneer analytics is ingeschakeld. Een dagelijkse opschoontaak wordt uitgevoerd via de as24ci_daily_cleanup-cron-hook en verwijdert rijen die ouder zijn dan de geconfigureerde bewaarperiode.
as24ci_search_agents (Smart Stock Alerts)
Slaat abonnementen van bezoekers op. Kolommen: id, name, email, criteria, token, frequency, status (pending, active, inactive, paused), created_at, confirmed_at. Indexen dekken status en token. Omdat de tabel persoonlijke gegevens bevat, wordt deze bij deïnstallatie altijd verwijderd, ongeacht de opschooninstelling.
as24ci_content_studio_jobs (Content Studio-taken)
Slaat één rij op per Content Studio-generatietaak. Kolommen zijn onder andere 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. Indexen dekken vehicle_post_id, (status, created_at), platform_preset en content_type.
as24ci_content_studio_assets (Content Studio-assets)
Slaat gegenereerde assets op die aan een taak zijn gekoppeld via job_id. Kolommen zijn onder andere 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. Indexen dekken job_id, vehicle_post_id, asset_type, created_at, schedule_status en scheduled_at.
Aangepaste post types
| Post type | Openbaar | Heeft archief | Opgeslagen in | Doel |
|---|---|---|---|---|
as24ci_car | Ja | Ja | wp_posts, wp_postmeta (anker) + aangepaste tabel {prefix}as24_vehicles (veldegevens) | Geïmporteerde voertuigen. Een-op-een gekoppeld aan een rij in as24_vehicles via post_id. |
as24ci_lead | Nee | Nee | wp_posts, wp_postmeta | Inzendingen van contactformulieren en proefritaanvragen. |
Dealerlocaties zijn geen aangepast post type. Ze worden opgeslagen als een enkele array in de as24ci_locations WordPress-optie en weergegeven via de shortcodes voor locaties/openingstijden.
De as24ci_car-taxonomieën en de meest gebruikte voertuigvelden worden gespiegeld naar post-meta met het voorvoegsel _as24ci_ voor compatibiliteit met thema's (bijvoorbeeld _as24ci_listing_id, _as24ci_make, _as24ci_model, _as24ci_price, _as24ci_mileage, _as24ci_image_ids, _as24ci_manual_image_ids).
as24ci_lead-posts bevatten meta-sleutels zoals _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.
Voertuigtaxonomieën
De plugin registreert 15 voertuigattribuut-taxonomieën, die allemaal zijn gekoppeld aan as24ci_car:
- Merk
- Model
- Carrosserievorm
- Staat
- Brandstoftype
- Transmissie
- Aandrijving
- Exterieurkleur
- Interieurkleur
- Emissienorm
- Energielabel
- Voertuigcategorie
- Cilinderopstelling
- Garantietype
- Garantiedetails
Controleer de exacte slugs in AS24CI\Taxonomies (zie Custom Post Types And Taxonomies) voordat u code publiceert die gebruikmaakt van taxonomieën.
Gebruikte WordPress-kerntabellen
De plugin wijzigt het schema van de WordPress-kerntabellen niet. Deze worden als volgt gebruikt:
wp_posts— slaat de post typesas24ci_carenas24ci_leadop. (Locaties zijn geen post type; ze bevinden zich in de optieas24ci_locations.)wp_postmeta— slaat post-meta op voor achterwaartse compatibiliteit en de lead-status.wp_terms,wp_term_taxonomy,wp_term_relationships— slaan de 15 voertuigtaxonomieën op.wp_options— slaat alle plugin-instellingen, schemaversie-markers en de ID's van bij activering gemaakte pagina's op.wp_usersenwp_usermeta— indirect gebruikt via WordPress-capabilities en dealerprofiel-gebruikersmeta.
Capabilities en rollen
De plugin beheert een aangepaste set capabilities die is opgeslagen in wp_user_roles (de standaard WordPress-optie):
- Aangepaste rol:
as24ci_editor. - Aangepaste capabilities: de capability-set
as24ci_carenas24ci_cars, plus de plugin-beheercapabilitymanage_as24_imports.
Transients
Gebruikt voor kortstondige caches en vergrendelingen (locks) tussen verzoeken.
| Transient | TTL (ongeveer) | Doel |
|---|---|---|
as24ci_cron_import_running | ~40 min | Single-run lock voor de import-runner. |
as24ci_image_queue_running | ~10 min | Single-run lock voor de afbeeldingen-wachtrij-worker. |
as24ci_batch_queue | n.v.t. | Wachtende batch-wachtrij-payload voor de Batch-Wizard. |
as24ci_access_token | Vervaltijd token | Cache voor OAuth-toegangstoken. |
as24ci_gemini_models | Providerspecifiek | Gecachte lijst met beheerde Gemini-modellen. |
as24ci_dashboard_page_data, as24ci_dashboard_api_status_v2 | n.v.t. | Dashboard-caches. |
as24ci_dw_overview, as24ci_dw_ai_monitor, as24ci_dw_performance, as24ci_dw_recent_leads, as24ci_dw_pricing_intel | n.v.t. | Dashboard-widget-caches. |
as24ci_analytics_tab_{view} | n.v.t. | Analytics-tab-caches. |
as24ci_health_ping_{service} | n.v.t. | Statuscontrole-ping-caches. |
as24ci_import_{job_id} | n.v.t. | Voortgangsregistratie per import. |
as24ci_ai_kb_index_v1, as24ci_docs_v1_{path}, as24ci_models_cache_{hash} | n.v.t. | Caches voor AI-kennisbank / documentatie. |
as24ci_rate_{email} | n.v.t. | Rate limit per e-mailadres voor contactformulier. |
as24ci_analytics_market_intel | n.v.t. | Cache voor prijsbepalingsengine. |
Verouderde vergrendelingen (ouder dan de TTL) worden automatisch opgeruimd door de volgende runner.
Opslag op het bestandssysteem
- Geïmporteerde afbeeldingen worden opgeslagen als standaard WordPress-bijlagen in de map WordPress. Er wordt naar verwezen vanuit voertuigen via
_as24ci_image_ids. - Handmatig geüploade galerij-afbeeldingen worden verwezen via
_as24ci_manual_image_ids. Deze worden nooit automatisch verwijderd door het deïnstallatieprogramma. - Plugin-logs worden geschreven naar een door de plugin beheerd logbestand met automatische rotatie bij een limiet van 10 MB. Het exacte pad wordt weergegeven in het beheerderstabblad Logs.
Deïnstallatiegedrag
uninstall.php doet altijd het volgende:
- Verwijdert de vijf aangepaste tabellen (
{prefix}as24_vehicles,{prefix}as24ci_analytics,{prefix}as24ci_search_agents,{prefix}as24ci_content_studio_jobs,{prefix}as24ci_content_studio_assets). - Verwijdert de bijbehorende schemaversie-opties.
- Verwijdert de import-lock en OAuth-token transients.
- Wist de geplande cron-gebeurtenissen van de plugin.
Alleen verwijderd wanneer as24ci_delete_data_on_uninstall is ingesteld op '1':
- Alle
as24ci_car-posts. - Alle
as24ci_lead-posts. - Geïmporteerde bijlagen waarnaar wordt verwezen in
_as24ci_image_ids. - De pagina's waarvan de ID's zijn opgeslagen in
as24ci_page_archive_id,as24ci_page_compare_idenas24ci_page_favorites_id.
Wordt nooit automatisch verwijderd:
- Handmatig geüploade afbeeldingen waarnaar wordt verwezen in
_as24ci_manual_image_ids. - Gebruikersprofiel-meta van dealers (de
as24ci_seller_*-gebruikersmetasleutels).
Op multisite-installaties wordt dezelfde logica per site toegepast.
Operationele opmerkingen
- Schema-upgrades zijn idempotent. Elke eigenaarklasse controleert de optie voor de schemaversie en sluit snel af wanneer de tabel al overeenkomt met de verwachte versie.
- Directe
wpdb-query's op de aangepaste tabellen zijn aanwezig in de repository-, analytics-, zoekagent- en deïnstallatie-codepaden. Aangepaste code die de repository omzeilt, moet het schema behandelen als onderdeel van het interne contract van de plugin. - Behandel de kolommen
raw_data,equipment_*enimagesals ondoorzichtige blobs en benader ze indien mogelijk via de repository-helpers.