【发布时间】:2021-01-29 08:42:36
【问题描述】:
我正在尝试使用 schema_translate_map 更改架构:
Base = declarative_base()
class DataAccessLayer():
def __init__(self):
conn_string = "mysql+mysqlconnector://root:root@localhost/"
self.engine = create_engine(conn_string)
Session = sessionmaker()
Session.configure(bind=self.engine)
self.session = Session()
def change_schema(self):
self.session.connection(execution_options={"schema_translate_map": {"belgarath": "belgarath_test"}})
class Player(Base):
__tablename__ = "player"
__table_args__ = {'schema': "belgarath"}
id_ = Column(Integer, primary_key=True)
dal = DataAccessLayer()
dal.change_schema()
qry = dal.session.query(Player.id_)
print(qry)
但是,SQL 输出如下:
SELECT belgarath.player.id_ AS belgarath_player_id_
FROM belgarath.player
代替:
SELECT belgarath_test.player.id_ AS belgarath_test_player_id_
FROM belgarath_test.player
我哪里出错了?
【问题讨论】:
标签: python mysql orm sqlalchemy