umami/db/postgresql/rollback/003_rollback_apache_age.sql
iskandarsulaili 5f496fdb79 feat: integrate First8 Marketing hyper-personalization system
Enhanced Umami Analytics with First8 Marketing integration for
hyper-personalized recommendation engine.

Database Enhancements:
- PostgreSQL 17 with Apache AGE 1.6.0 (graph database)
- TimescaleDB 2.23.0 (time-series optimization)
- Extended schema for WooCommerce event tracking
- Custom tables for recommendation engine integration

Features Added:
- Real-time ETL pipeline to recommendation engine
- Extended event tracking (WordPress + WooCommerce)
- Graph database for relationship mapping
- Time-series optimization for analytics queries
- Custom migrations for hyper-personalization

Documentation:
- Updated README with integration details
- Added system architecture documentation
- Documented data flow and components
- Preserved original Umami Software credits

Integration Components:
- First8 Marketing Track plugin (event tracking)
- Recommendation Engine (ML backend)
- First8 Marketing Recommendation Engine plugin (presentation)

Status: Production-ready
Version: Based on Umami latest + First8 Marketing enhancements
2025-11-05 19:17:57 +08:00

38 lines
1.8 KiB
SQL

-- Rollback Migration: Remove Apache AGE Graph Database
-- Created: 2025-01-15
-- Description: Drops Apache AGE graph and extension
-- WARNING: This will permanently delete all graph data!
-- Set search path to include ag_catalog
SET search_path = ag_catalog, "$user", public;
-- ============================================================================
-- Step 1: Drop Helper Functions
-- ============================================================================
DROP FUNCTION IF EXISTS execute_cypher(text, text) CASCADE;
-- ============================================================================
-- Step 2: Drop Graph (this will cascade to all vertices and edges)
-- ============================================================================
SELECT ag_catalog.drop_graph('user_journey', true);
-- ============================================================================
-- Step 3: Drop Apache AGE Extension
-- ============================================================================
-- Note: Only drop extension if no other graphs exist
-- Uncomment the following line if you want to completely remove Apache AGE
-- DROP EXTENSION IF EXISTS age CASCADE;
-- ============================================================================
-- Rollback Complete
-- ============================================================================
DO $$
BEGIN
RAISE NOTICE '=================================================================';
RAISE NOTICE 'Apache AGE Rollback Complete';
RAISE NOTICE 'Dropped graph: user_journey';
RAISE NOTICE 'Dropped helper functions: execute_cypher()';
RAISE NOTICE 'Note: Apache AGE extension was NOT dropped (may be used by other graphs)';
RAISE NOTICE '=================================================================';
END $$;