tornado+sqlalchemy 怎么连接多个数据库?

发布于 2022-09-06 02:09:47 字数 1218 浏览 28 评论 0

DB_CONF = {
    'host': 'mysql+pymysql://{username}:{password}@{db_host}:{db_port}/?charset=utf8mb4'.format(
        username=MYSQL_USERNAME,
        password=MYSQL_PASSWORD,
        db_host=DB_HOST,
        db_port=DB_PORT
    )
}

DB_engine = create_engine(config.DB_CONF['host'], isolation_level="READ UNCOMMITTED", pool_recycle=3600,echo=False,pool_size=100,encoding='utf-8',charset='utf-8')
_BaseModel = declarative_base()
_Session = sessionmaker(bind=DB_engine)

在model里面使用_Session

class UserModel(_BaseModel):
    __tablename__ = 'user'
    __table_args__={
        'mysql_charset':'utf-8'
    }
    id = Column(INTEGER, primary_key=True, autoincrement=True)
    username = Column(VARCHAR(50), doc=u'用户名')
    _password = Column('password', VARCHAR(50),doc=u'密码')
    createtime = Column(DateTime, default=datetime.now,doc=u'创建时间')
    update_time = Column(DateTime,doc=u'更新时间')
 
    @classmethod
    def by_name(cls, username):
        query = _Session.query(cls).filter_by(username = username)
        return query.first()

现在想使用不同数据库的不同的表,是创建多个session么?每个session里加入不同的bind?
然后在model里怎么使用呢?
因为现在连不上国外的网址,什么文档都看不了,又比较急,只能提问了,抱歉。。。

求解答

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文