Fix metadata attribute name conflict in Pool model

This commit is contained in:
Automated Action 2025-05-12 14:58:36 +00:00
parent 0907e9d352
commit b0a3c61697
4 changed files with 25 additions and 5 deletions

View File

@ -31,7 +31,7 @@ class Pool(Base):
fee_rate = Column(Float, nullable=True) # Pool fee percentage fee_rate = Column(Float, nullable=True) # Pool fee percentage
pool_type = Column(String, nullable=True) # Constant product, stable, etc. pool_type = Column(String, nullable=True) # Constant product, stable, etc.
is_active = Column(Boolean, default=True, nullable=False) is_active = Column(Boolean, default=True, nullable=False)
metadata = Column(JSON, nullable=True) # Additional pool-specific data pool_metadata = Column(JSON, nullable=True) # Additional pool-specific data
created_at = Column(DateTime, default=datetime.utcnow, nullable=False) created_at = Column(DateTime, default=datetime.utcnow, nullable=False)
updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow, nullable=False) updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow, nullable=False)

View File

@ -23,7 +23,7 @@ class PoolBase(BaseModel):
class PoolCreate(PoolBase): class PoolCreate(PoolBase):
metadata: Optional[Dict[str, Any]] = None pool_metadata: Optional[Dict[str, Any]] = None
class PoolUpdate(BaseModel): class PoolUpdate(BaseModel):
@ -42,7 +42,7 @@ class PoolUpdate(BaseModel):
fee_rate: Optional[float] = None fee_rate: Optional[float] = None
pool_type: Optional[str] = None pool_type: Optional[str] = None
is_active: Optional[bool] = None is_active: Optional[bool] = None
metadata: Optional[Dict[str, Any]] = None pool_metadata: Optional[Dict[str, Any]] = None
class PoolInDBBase(PoolBase): class PoolInDBBase(PoolBase):
@ -50,7 +50,7 @@ class PoolInDBBase(PoolBase):
volume_24h: Optional[float] = None volume_24h: Optional[float] = None
fees_24h: Optional[float] = None fees_24h: Optional[float] = None
tvl: Optional[float] = None tvl: Optional[float] = None
metadata: Optional[Dict[str, Any]] = None pool_metadata: Optional[Dict[str, Any]] = None
created_at: datetime created_at: datetime
updated_at: datetime updated_at: datetime

20
check_schema.py Normal file
View File

@ -0,0 +1,20 @@
import os
from sqlalchemy import inspect, create_engine, MetaData
# Create path to DB
storage_dir = os.path.join(os.getcwd(), "storage", "db")
if not os.path.exists(storage_dir):
os.makedirs(storage_dir, exist_ok=True)
# Connect to database
db_url = f"sqlite:///{storage_dir}/db.sqlite"
engine = create_engine(db_url, connect_args={"check_same_thread": False})
# Get inspector
inspector = inspect(engine)
# Print schema
for table_name in inspector.get_table_names():
print(f"\nTable: {table_name}")
for column in inspector.get_columns(table_name):
print(f" {column['name']}: {column['type']}")

View File

@ -107,7 +107,7 @@ def upgrade():
sa.Column('fee_rate', sa.Float(), nullable=True), sa.Column('fee_rate', sa.Float(), nullable=True),
sa.Column('pool_type', sa.String(), nullable=True), sa.Column('pool_type', sa.String(), nullable=True),
sa.Column('is_active', sa.Boolean(), nullable=False, default=True), sa.Column('is_active', sa.Boolean(), nullable=False, default=True),
sa.Column('metadata', sa.JSON(), nullable=True), sa.Column('pool_metadata', sa.JSON(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=False), sa.Column('created_at', sa.DateTime(), nullable=False),
sa.Column('updated_at', sa.DateTime(), nullable=False), sa.Column('updated_at', sa.DateTime(), nullable=False),
sa.ForeignKeyConstraint(['dex_id'], ['dex.id'], ), sa.ForeignKeyConstraint(['dex_id'], ['dex.id'], ),