aaa

fun truncateAllTables(dsl: DSLContext) {
    dsl.transaction { config ->
        val ctx = DSL.using(config)
        
        val excludeTables = setOf("flyway_schema_history")
        
        val tableNames = ctx.fetch("""
            SELECT tablename 
            FROM pg_tables 
            WHERE schemaname = 'public'
            AND tablename NOT IN (${excludeTables.joinToString(",") { "'$it'" }})
        """).map { it.getValue(0, String::class.java) }
        
        if (tableNames.isNotEmpty()) {
            val tables = tableNames.joinToString(", ") { "\"$it\"" }
            ctx.execute("TRUNCATE TABLE $tables RESTART IDENTITY CASCADE")
        }
    }
}