@@ -1360,9 +1360,15 @@ def drop_table(self, table_name, schema=None):
1360
1360
self .get_table (table_name , schema ).drop ()
1361
1361
self .meta .clear ()
1362
1362
1363
- def _create_sql_schema (self , frame , table_name , keys = None , dtype = None ):
1363
+ def _create_sql_schema (self , frame , table_name , keys = None , dtype = None , schema = None ):
1364
1364
table = SQLTable (
1365
- table_name , self , frame = frame , index = False , keys = keys , dtype = dtype
1365
+ table_name ,
1366
+ self ,
1367
+ frame = frame ,
1368
+ index = False ,
1369
+ keys = keys ,
1370
+ dtype = dtype ,
1371
+ schema = schema ,
1366
1372
)
1367
1373
return str (table .sql_schema ())
1368
1374
@@ -1493,9 +1499,13 @@ def _create_table_setup(self):
1493
1499
create_tbl_stmts .append (
1494
1500
f"CONSTRAINT { self .name } _pk PRIMARY KEY ({ cnames_br } )"
1495
1501
)
1496
-
1502
+ if self .schema :
1503
+ schema_to_add = self .schema + "."
1504
+ else :
1505
+ schema_to_add = ""
1497
1506
create_stmts = [
1498
1507
"CREATE TABLE "
1508
+ + schema_to_add
1499
1509
+ escape (self .name )
1500
1510
+ " (\n "
1501
1511
+ ",\n " .join (create_tbl_stmts )
@@ -1750,14 +1760,20 @@ def drop_table(self, name, schema=None):
1750
1760
drop_sql = f"DROP TABLE { _get_valid_sqlite_name (name )} "
1751
1761
self .execute (drop_sql )
1752
1762
1753
- def _create_sql_schema (self , frame , table_name , keys = None , dtype = None ):
1763
+ def _create_sql_schema (self , frame , table_name , keys = None , dtype = None , schema = None ):
1754
1764
table = SQLiteTable (
1755
- table_name , self , frame = frame , index = False , keys = keys , dtype = dtype
1765
+ table_name ,
1766
+ self ,
1767
+ frame = frame ,
1768
+ index = False ,
1769
+ keys = keys ,
1770
+ dtype = dtype ,
1771
+ schema = schema ,
1756
1772
)
1757
1773
return str (table .sql_schema ())
1758
1774
1759
1775
1760
- def get_schema (frame , name , keys = None , con = None , dtype = None ):
1776
+ def get_schema (frame , name , keys = None , con = None , dtype = None , schema = None ):
1761
1777
"""
1762
1778
Get the SQL db table schema for the given frame.
1763
1779
@@ -1778,4 +1794,6 @@ def get_schema(frame, name, keys=None, con=None, dtype=None):
1778
1794
1779
1795
"""
1780
1796
pandas_sql = pandasSQL_builder (con = con )
1781
- return pandas_sql ._create_sql_schema (frame , name , keys = keys , dtype = dtype )
1797
+ return pandas_sql ._create_sql_schema (
1798
+ frame , name , keys = keys , dtype = dtype , schema = schema
1799
+ )
0 commit comments