承接 martin3r/platform-datawarehouse 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

martin3r/platform-datawarehouse

Composer 安装命令:

composer require martin3r/platform-datawarehouse

包简介

Datawarehouse Module for Platform - Collects, stores, and serves data from various sources

README 文档

README

Systematisches Einsammeln, Speichern und Bereitstellen von Daten aus verschiedenen Quellen.

Features

  • Datenströme (Streams): Konfigurierbare Datenquellen mit Schema-Definition
  • Dynamische Tabellen: Automatisch erstellte Tabellen basierend auf Spaltendefinitionen
  • Webhook-Ingest: POST-Endpoint mit Token-basierter Authentifizierung
  • Import-Modi: Snapshot (Truncate+Insert), Append, Upsert
  • Schema-Audit: Lückenlose Dokumentation aller Schema-Änderungen
  • Import-Log: Statistiken zu jedem Import (Zeilen, Fehler, Dauer)

Struktur

datawarehouse/
├── config/datawarehouse.php
├── database/migrations/
│   ├── ...create_datawarehouse_streams_table.php
│   ├── ...create_datawarehouse_stream_columns_table.php
│   ├── ...create_datawarehouse_imports_table.php
│   └── ...create_datawarehouse_schema_migrations_table.php
├── routes/
│   ├── web.php         # Dashboard (auth)
│   └── api.php         # Webhook-Ingest (token)
└── src/
    ├── DatawarehouseServiceProvider.php
    ├── Http/Controllers/IngestController.php
    ├── Livewire/Dashboard.php, Sidebar.php
    ├── Models/
    │   ├── DatawarehouseStream.php
    │   ├── DatawarehouseStreamColumn.php
    │   ├── DatawarehouseImport.php
    │   └── DatawarehouseSchemaMigration.php
    └── Services/
        ├── StreamSchemaService.php
        └── StreamImportService.php

Webhook-Endpoint

POST /api/datawarehouse/ingest/{endpoint_token}
Content-Type: application/json

[
  {"field1": "value1", "field2": 42},
  {"field1": "value2", "field2": 99}
]

Response:

{
  "import_id": 1,
  "status": "success",
  "rows_received": 2,
  "rows_imported": 2,
  "rows_skipped": 0,
  "duration_ms": 45,
  "errors": null
}

Import-Modi

  • snapshot: Löscht alle Daten der Tabelle und fügt neue ein (Truncate + Insert)
  • append: Fügt neue Zeilen hinzu
  • upsert: Insert oder Update basierend auf upsert_key

Dynamische Tabellen

Tabellennamen: dw_{stream_id}_{slug}

Jede dynamische Tabelle hat automatisch:

  • id (PK)
  • import_id (Referenz zum Import)
  • imported_at (Zeitstempel)
  • Konfigurierte Spalten aus datawarehouse_stream_columns
  • created_at, updated_at

统计信息

  • 总下载量: 74
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-04-15

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固