@@ -1378,7 +1378,6 @@ def __init__(self, engine, schema: str | None = None):
1378
1378
1379
1379
self .connectable = engine
1380
1380
self .meta = MetaData (schema = schema )
1381
- self .meta .reflect (bind = engine )
1382
1381
1383
1382
@contextmanager
1384
1383
def run_transaction (self ):
@@ -1761,19 +1760,17 @@ def has_table(self, name: str, schema: str | None = None):
1761
1760
)
1762
1761
1763
1762
def get_table (self , table_name : str , schema : str | None = None ):
1764
- schema = schema or self .meta .schema
1765
- if schema :
1766
- tbl = self .meta .tables .get ("." .join ([schema , table_name ]))
1767
- else :
1768
- tbl = self .meta .tables .get (table_name )
1769
-
1770
- # Avoid casting double-precision floats into decimals
1771
- from sqlalchemy import Numeric
1763
+ from sqlalchemy import (
1764
+ Numeric ,
1765
+ Table ,
1766
+ )
1772
1767
1768
+ schema = schema or self .meta .schema
1769
+ table_name = "." .join ([schema , table_name ]) if schema else table_name
1770
+ tbl = Table (table_name , self .meta , autoload_with = self .connectable )
1773
1771
for column in tbl .columns :
1774
1772
if isinstance (column .type , Numeric ):
1775
1773
column .type .asdecimal = False
1776
-
1777
1774
return tbl
1778
1775
1779
1776
def drop_table (self , table_name : str , schema : str | None = None ):
0 commit comments