ST-2.1: Unify timeframe enum - Created ddl/00-global-types.sql with public.trading_timeframe - Marked trading.timeframe and market_data.timeframe as DEPRECATED ST-2.2: Resolve transaction_type conflict - Documented rename plan: financial.wallet_transaction_type - Documented rename plan: investment.investment_transaction_type - Added deprecation comments to both enums ST-2.3: Unify common functions - Created ddl/00-global-functions.sql with public.update_updated_at() - Marked schema-specific functions as DEPRECATED: - auth.update_updated_at() - education.update_updated_at_column() - financial.update_timestamp() - feature_flags.update_timestamp() Migrations created (not executed): - 2026-02-03_unify_timeframe_enum.sql - 2026-02-03_rename_transaction_type_enums.sql - 2026-02-03_unify_common_functions.sql Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
46 lines
2.0 KiB
PL/PgSQL
46 lines
2.0 KiB
PL/PgSQL
-- ============================================================================
|
|
-- OrbiQuant IA - Trading Platform
|
|
-- File: ddl/00-global-functions.sql
|
|
-- Description: Global Functions - Used across all schemas
|
|
-- Created: 2026-02-03
|
|
-- Task: ST-2.3 - Unify common functions in public schema
|
|
-- Issue: DUP-003
|
|
-- ============================================================================
|
|
-- These functions are created in the public schema for reuse across all
|
|
-- domain schemas (auth, trading, financial, education, etc.)
|
|
-- ============================================================================
|
|
|
|
-- ============================================================================
|
|
-- FUNCTION: public.update_updated_at()
|
|
-- Purpose: Automatically update the updated_at column on row modification
|
|
-- Usage: Create trigger on tables with updated_at column
|
|
-- ============================================================================
|
|
-- Replaces duplicated functions:
|
|
-- - auth.update_updated_at()
|
|
-- - education.update_updated_at_column()
|
|
-- - financial.update_timestamp()
|
|
-- - feature_flags.update_timestamp()
|
|
-- ============================================================================
|
|
|
|
CREATE OR REPLACE FUNCTION public.update_updated_at()
|
|
RETURNS TRIGGER AS $$
|
|
BEGIN
|
|
NEW.updated_at = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$ LANGUAGE plpgsql;
|
|
|
|
COMMENT ON FUNCTION public.update_updated_at() IS
|
|
'Trigger function to auto-update updated_at timestamp. Use in BEFORE UPDATE triggers.
|
|
Unified function replacing schema-specific versions (auth, education, financial, feature_flags).
|
|
Migration: migrations/2026-02-03_unify_common_functions.sql | Issue: DUP-003';
|
|
|
|
-- ============================================================================
|
|
-- USAGE EXAMPLE
|
|
-- ============================================================================
|
|
-- CREATE TRIGGER trg_tablename_updated_at
|
|
-- BEFORE UPDATE ON schema.tablename
|
|
-- FOR EACH ROW
|
|
-- EXECUTE FUNCTION public.update_updated_at();
|
|
-- ============================================================================
|