Skip to content

Commit 34cc805

Browse files
authored
fix: add missing decimal import for numeric and float types in SQLAlchemy type maps (#108)
1 parent 21fbe1e commit 34cc805

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

src/supabase_pydantic/core/constants.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -132,13 +132,13 @@ class ModelGenerationType(str, Enum):
132132
'int4': ('Integer', 'from sqlalchemy import Integer'), # Internal form
133133
'int8': ('BigInteger', 'from sqlalchemy import BigInteger'), # Internal form
134134
# Decimal/Numeric types
135-
'numeric': ('Numeric', 'from sqlalchemy import Numeric'),
136-
'decimal': ('Numeric', 'from sqlalchemy import Numeric'),
135+
'numeric': ('Numeric', 'from sqlalchemy import Numeric\nfrom decimal import Decimal'),
136+
'decimal': ('Numeric', 'from sqlalchemy import Numeric\nfrom decimal import Decimal'),
137137
# Floating point types
138138
'real': ('Float', 'from sqlalchemy import Float'),
139139
'float4': ('Float', 'from sqlalchemy import Float'), # Internal form
140140
'double precision': ('Float', 'from sqlalchemy import Float'),
141-
'float': ('Numeric', 'from sqlalchemy import Numeric'), # Match PYDANTIC_TYPE_MAP
141+
'float': ('Numeric', 'from sqlalchemy import Numeric\nfrom decimal import Decimal'), # Match PYDANTIC_TYPE_MAP
142142
'float8': ('Float', 'from sqlalchemy import Float'), # Internal form
143143
# Serial types
144144
'serial': ('Integer', 'from sqlalchemy import Integer'),
@@ -218,13 +218,16 @@ class ModelGenerationType(str, Enum):
218218
'int4': ('Integer,int', 'from sqlalchemy import Integer'), # Internal form
219219
'int8': ('BigInteger,int', 'from sqlalchemy import BigInteger'), # Internal form
220220
# Decimal/Numeric types
221-
'numeric': ('Numeric,Decimal', 'from sqlalchemy import Numeric'), # Changed to Decimal
222-
'decimal': ('Numeric,Decimal', 'from sqlalchemy import Numeric'),
221+
'numeric': ('Numeric,Decimal', 'from sqlalchemy import Numeric\nfrom decimal import Decimal'), # Changed to Decimal
222+
'decimal': ('Numeric,Decimal', 'from sqlalchemy import Numeric\nfrom decimal import Decimal'),
223223
# Floating point types
224224
'real': ('Float,float', 'from sqlalchemy import Float'),
225225
'float4': ('Float,float', 'from sqlalchemy import Float'), # Internal form
226226
'double precision': ('Float,float', 'from sqlalchemy import Float'),
227-
'float': ('Numeric,Decimal', 'from sqlalchemy import Numeric'), # Match PYDANTIC_TYPE_MAP
227+
'float': (
228+
'Numeric,Decimal',
229+
'from sqlalchemy import Numeric\nfrom decimal import Decimal',
230+
), # Match PYDANTIC_TYPE_MAP
228231
'float8': ('Float,float', 'from sqlalchemy import Float'), # Internal form
229232
# Serial types
230233
'serial': ('Integer,int', 'from sqlalchemy import Integer'),

src/supabase_pydantic/db/drivers/mysql/type_maps.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@
4848
'mediumint': ('Integer', 'from sqlalchemy import Integer'),
4949
'int': ('Integer', 'from sqlalchemy import Integer'),
5050
'bigint': ('BigInteger', 'from sqlalchemy import BigInteger'),
51-
'decimal': ('Numeric', 'from sqlalchemy import Numeric'),
52-
'float': ('Float', 'from sqlalchemy import Float'),
51+
'decimal': ('Numeric,Decimal', 'from sqlalchemy import Numeric\nfrom decimal import Decimal'),
52+
'float': ('Numeric,Decimal', 'from sqlalchemy import Numeric\nfrom decimal import Decimal'),
5353
'double': ('Float', 'from sqlalchemy import Float'),
5454
'bit': ('Boolean', 'from sqlalchemy import Boolean'), # Map bit to Boolean for SQLAlchemy
5555
# String types

0 commit comments

Comments
 (0)