SQLAlchemy 多数据源 多个数据库

databases.py

        app.config[‘SQLALCHEMY_DATABASE_URI‘] = globalsSet[‘dblink‘]#默认数据库链接
        app.config[‘SQLALCHEMY_BINDS‘] = {‘one‘ : globalsSet[‘dblink_one‘],
        
                        ‘two‘:globalsSet[‘dblink_two‘]}

models.py
__tablename__ = ‘tname‘
__bind_key__ = ‘one‘

问题:

去重使用group by,不能使用distinct写法“db_session.query(表名.ip).distinct()”
由于使用了多数据源,db_session.query(表名)只能写表名,因为models中__bind_key__控制,暂未找到好方法先使用group_by去重

所以查表的方式目前我只是用query(表名)的方式,还未找到很好的解决方式,如果写表名.字段,则使用默认数据库链接
时间: 2024-10-29 09:53:30

SQLAlchemy 多数据源 多个数据库的相关文章

理解asp.net中DropDownList编辑数据源,绑定数据库数据。

一.理解asp.net绑定数据库 终于学习到了连接数据库部分的内容,杨中科老师视频看起来挺轻松的,如果是高清版就更ok了. 我发现我学习新的编程语言会有一个特点,都想要赶紧学习数据库,数据就是一切,有了数据才能操作一切的原因吧.现在能连上数据库特别心安.把过程记录一下,成为学习轨迹的一部分. 环境是VS2013.MSSQLSERVER(2012) (一)我想实现的效果是:一个下拉菜单DropDownList,从数据库那边获取数据过来,显示在下单菜单里. (二)实现的过程 首先,我把数据库跟数据表

Spring MVC动态切换数据源(多数据库类型)

最近由于项目需求,需要将Sql Server 和 Mysql 两种数据库整合到一个项目,项目的用到的框架是SSM. 因此尝试了利用AOP切面来切每次执行的Servcie方法,根据Service所在的包名来实现数据源自动切换. 1.项目架构如下: 2.在com.jiefupay.database包中建立四个类: 其中 DataSourceContextHolder.java类源码如下: package com.jiefupay.datebase; public class DataSourceCo

配置ODBC DSN数据源,导出数据库数据到Excel过程记录

一.前言 工作中我们可能遇到这样的需要:查询数据库中的信息,并将结果导出到Excel文件.这本来没什么,但数据量比较大时,用PLSQL.toad导出Excel会出现内存不足等情况,使用odbc+Microsoft query + Excel导出提数结果能在一定程度上避免这些问题. 环境:个人电脑8G内存,导出130W条记录毫无压力. 二.下载.安装Oracle Database Client Windows默认没有按照Oracle的ODBC驱动,需要手动安装,Oracle Database Cl

ORM框架SQLAlchemy与权限管理系统的数据库设计

SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用对象关系映射进行数据库操作,即:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果. 执行流程: 1.使用者通过ORM对象提交命令 2.将命令交给SQLAlchemy Core(Schema/Types SQL Expression Language)转换成SQL 3.使用 Engine/ConnectionPooling/Dialect 进行数据库操作 4.匹配使用者事先配置好的egin

gridview无数据源实现更新数据库(即断开更新数据库)

原文发布时间为:2008-08-01 -- 来源于本人的百度文章 [由搬家工具导入] using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebContro

MySql数据库数据源

数据源是指数据库应用程序所使用的数据库或者数据库服务器. 数据源(Data Source)顾名思义,数据的来源,是提供某种所需要数据的器件或原始媒体.在数据源中存储了所有建立数据库连接的信息.就像通过指定文件名称可以在文件系统中找到文件一样,通过提供正确的数据源名称,你可以找到相应的数据库连接. mybatis-config.xml <environments default="development"> <environment id="developme

python操作数据库 - SQLAlchemy

ORM简介 ORM全称是Object Relational Mapping(关系对象映射).实质是将关系数据库中的业务数据用对象的形式表示出来,并通过面向对象的方式将这些对象组织起来,最终在应用中创建一个虚拟对象数据库. 核心就是一个class对应一张表. SQLAlchemy现在已经是python中最流行的ORM框架. ORM优点: 1.隐藏数据库实现,让业务代码只访问对象而不是数据库表 2.良好的数据库操作接口,简单.学习成本低 3.动态数据表映射,表结构改变时,减少代码修改量 4.方便引入

Spring 数据源配置三:多数据源

在上一节中,我们讲述了多数据的情况: 1. 数据源不同(数据库厂商不同, 业务范围不同, 业务数据不同) 2. SQL mapper 文件不同, 3. mybatis + 数据方言不同 即最为简单的多数据, 将多个数据源叠加在一起,不同service--->dao--->sessionFactory; 如果上述的所有条件都相同,仅仅是数据的的多个拷贝情况,想做主备(读写分离),那我们当然可以用2套复制的代码和配置,但是显然不是最佳的实现方式. 这里,我们就讲解一下多数据源的读写分离,怎么实现.

第五章 征服数据库

5.1 数据库的访问哲学 DAO是数据访问对象(data access object)的缩写. 5.1.1 了解Spring的数据访问异常体系 可能抛出的SQLException常见问题: 应用程序无法连接数据库: 要执行的查询有语法错误 查询中所使用的表和列不存在 视图插入或更新数据违反了数据库完整性约束 Spring的凭条无关持久化异常 spring的异常都继承自DataAccessException(他是一个非检查型异常). 5.1.2 数据访问模板化 spring将数据访问过程中固定的和