fix: Add metadata reflection fix to sqlite as well

Added fix when reflecting metadata to sqlite as well

Fix
This commit is contained in:
Igor Ilic 2024-12-16 11:26:33 +01:00
parent d9e558e885
commit 394a0b2dfb

View file

@ -113,10 +113,12 @@ class SQLAlchemyAdapter():
""" """
async with self.engine.begin() as connection: async with self.engine.begin() as connection:
if self.engine.dialect.name == "sqlite": if self.engine.dialect.name == "sqlite":
# Load the schema information into the MetaData object # Create a MetaData instance to load table information
await connection.run_sync(Base.metadata.reflect) metadata = MetaData()
if table_name in Base.metadata.tables: # Load table information from schema into MetaData
return Base.metadata.tables[table_name] await connection.run_sync(metadata.reflect)
if table_name in metadata.tables:
return metadata.tables[table_name]
else: else:
raise EntityNotFoundError(message=f"Table '{table_name}' not found.") raise EntityNotFoundError(message=f"Table '{table_name}' not found.")
else: else:
@ -138,8 +140,11 @@ class SQLAlchemyAdapter():
table_names = [] table_names = []
async with self.engine.begin() as connection: async with self.engine.begin() as connection:
if self.engine.dialect.name == "sqlite": if self.engine.dialect.name == "sqlite":
await connection.run_sync(Base.metadata.reflect) # Create a MetaData instance to load table information
for table in Base.metadata.tables: metadata = MetaData()
# Load table information from schema into MetaData
await connection.run_sync(metadata.reflect)
for table in metadata.tables:
table_names.append(str(table)) table_names.append(str(table))
else: else:
schema_list = await self.get_schema_list() schema_list = await self.get_schema_list()