Skip to content

Conversation

@bpalomo-finboot
Copy link

@bpalomo-finboot bpalomo-finboot commented Nov 12, 2025

When trying to use sqlc to generate kotlin code for Atlas generated migrations I found that the ResultSet bindings weren't properly generated.

I was getting
results.getAny($columnIndex)
instead of
EnumName.lookup(results.getString($columnIndex))!!

After looking through the code and the atlas migrations I realised that when the column type has the schema qualifier in postgres 'public.enum_name' (Atlas' behaviour) the generator wasn't able to associate the correct enum Model because it was comparing the columnType variable which includes the schema against the enum name which doesn't.

The change should fix the issue and make a more strict comparison for the enum names and the schema they belong to against the column type and the schema of the column type.

Simplified schema definition:

CREATE TYPE "public"."enum_name" AS ENUM ('first', 'second'); CREATE TABLE "public"."table_name" ( ... "enum_field" "public"."enum_name" NOT NULL DEFAULT 'first', ... );

Apologies if the title isn't very descriptive as I didn't know how to summarize the issue, suggestions are appreciated.

@bpalomo-finboot bpalomo-finboot changed the title fix: enums types not used when column def has qualifier fix: enum types not used when column def has qualifier Nov 12, 2025
@bpalomo-finboot bpalomo-finboot changed the title fix: enum types not used when column def has qualifier fix: enum models not used when column def has qualifier Nov 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant