-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Description
Hey folks! Hope you are doing well...
I was exploring the plugin and was faced with weird issue with enum. The database is PG17
Below is the error
# package csharp
error generating code:
Unhandled Exception:
System.NotSupportedException: Column block_type has unsupported column type: post_block_type in NpgsqlDriver
at SqlcGenCsharp.Drivers.DbDriver.GetCsharpTypeWithoutNullableSuffix(Column column, Query query)
at EnumDbDriver.GetCsharpTypeWithoutNullableSuffix(Column column, Query query)
at SqlcGenCsharp.Drivers.DbDriver.GetCsharpType(Column column, Query query)
at SqlcGenCsharp.Generators.DataClassesGen.<>c__DisplayClass4_1.<GenerateAsCLass>b__2(Column column)
at System.Linq.Enumerable.SelectIListIterator`2[[Plugin.Column, GeneratedProtobuf, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax, Microsoft.CodeAnalysis.CSharp, Version=4.9.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]].Fill(IList`1 , Span`1 , Func`2 )
at System.Linq.Enumerable.SelectIListIterator`2[[Plugin.Column, GeneratedProtobuf, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax, Microsoft.CodeAnalysis.CSharp, Version=4.9.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]].ToArray()
at System.Linq.Enumerable.ToArray[MemberDeclarationSyntax](IEnumerable`1 )
at SqlcGenCsharp.Generators.DataClassesGen.<>c__DisplayClass4_0.<GenerateAsCLass>g__ColumnsToProperties|0()
at SqlcGenCsharp.Generators.DataClassesGen.GenerateAsCLass(String className, IList`1 columns, Query query)
at SqlcGenCsharp.Generators.DataClassesGen.Generate(String name, Nullable`1 classMember, IList`1 columns, Options options, Query query)
at SqlcGenCsharp.Generators.ModelsGen.<GenerateDataClasses>b__14_3(<>f__AnonymousType1`2 <>h__TransparentIdentifier1)
at System.Linq.Utilities.<>c__DisplayClass2_0`3[[<>f__AnonymousType0`2[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Collections.Generic.Dictionary`2[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[Plugin.Table, GeneratedProtobuf, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[Plugin.Table, GeneratedProtobuf, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], CodeGenerator, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[<>f__AnonymousType1`2[[<>f__AnonymousType0`2[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Collections.Generic.Dictionary`2[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[Plugin.Table, GeneratedProtobuf, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[Plugin.Table, GeneratedProtobuf, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], CodeGenerator, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], CodeGenerator, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax, Microsoft.CodeAnalysis.CSharp, Version=4.9.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]].<CombineSelectors>b__0(<>f__AnonymousType0`2 x)
at System.Linq.Enumerable.SelectEnumerableIterator`2[[<>f__AnonymousType0`2[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Collections.Generic.Dictionary`2[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[Plugin.Table, GeneratedProtobuf, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[Plugin.Table, GeneratedProtobuf, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], CodeGenerator, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax, Microsoft.CodeAnalysis.CSharp, Version=4.9.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]].ToArray()
at System.Linq.Enumerable.ToArray[MemberDeclarationSyntax](IEnumerable`1 )
at SqlcGenCsharp.Generators.ModelsGen.GenerateDataClasses(Dictionary`2 tables)
at SqlcGenCsharp.Generators.ModelsGen.GenerateFile(Dictionary`2 tables, Dictionary`2 enums)
at SqlcGenCsharp.CodeGenerator.Generate(GenerateRequest generateRequest)
at SqlcGenCsharp.PluginRunner.Run()
at Program.<Main>$(String[] args)
This is the config
version: "2"
plugins:
- name: csharp
wasm:
url: https://github.com/DaredevilOSS/sqlc-gen-csharp/releases/download/v0.22.2/sqlc-gen-csharp.wasm
sha256: 40af6dbb1447fb42f9e12d094a79e5adbfcb3669470cf7055896a179ee2e7427
sql:
- schema: "schema.sql"
queries: "Queries"
engine: postgresql
codegen:
- plugin: csharp
out: Database.Gen
options:
useDapper: true
withAsyncSuffix: true
targetFramework: net8.0
generateCsproj: true
namespaceName: Database.Gen
overrides:
- column: "*:block_type"
csharp_type:
type: "string"
notNull: true
This is the part of the schema
CREATE TYPE public.post_block_type AS ENUM (
'text',
'markdown',
'media',
'code',
'html',
'card_content',
'embed'
);
CREATE TABLE public.post_block (
id character varying(26) NOT NULL,
block_ordinal integer NOT NULL,
block_type public.post_block_type NOT NULL,
post_id character varying(36) NOT NULL,
content_data jsonb DEFAULT '{}'::jsonb NOT NULL,
revision_id character varying(26) NOT NULL,
vector_text tsvector
);
SockworkOrange
Metadata
Metadata
Assignees
Labels
No labels