-- Truncate all application data in the eventhub schema. -- Keeps the schema and Flyway migration history intact. -- Intended for PostgreSQL / TimescaleDB environments. DO $$ DECLARE table_list text; BEGIN SELECT string_agg(format('%I.%I', schemaname, tablename), ', ' ORDER BY tablename) INTO table_list FROM pg_tables WHERE schemaname = 'eventhub'; IF table_list IS NULL THEN RAISE NOTICE 'No tables found in schema eventhub.'; RETURN; END IF; EXECUTE 'TRUNCATE TABLE ' || table_list || ' RESTART IDENTITY CASCADE'; END $$;