草庐IT

SQLALCHEMY_TRACK_MODIFICATIONS

全部标签

mysql - 在 SQLAlchemy 中处理 mysql 重启

我的Pylons应用程序通过SQLAlchemy和python-MySQLdb使用本地MySQL服务器。当服务器重新启动时,打开的池化连接显然已关闭,但应用程序对此一无所知,显然当它尝试使用此类连接时,它会收到“MySQL服务器已消失”:File'/usr/lib/pymodules/python2.6/sqlalchemy/engine/default.py',line277indo_executecursor.execute(statement,parameters)File'/usr/lib/pymodules/python2.6/MySQLdb/cursors.py',line

mysql - 使用 sqlalchemy、mysql 和 pandas 读取框架

我正在尝试连接到mysql数据库,与选项1配合良好:fromsqlalchemyimportcreate_engineengine=create_engine('mysql://root:root@localhost/lend',echo=True)cnx=engine.connect()x=cnx.execute("SELECT*FROMuser")但在这里分解:frompandas.ioimportsqlxx=sql.read_frame("SELECT*FROMuser",cnx)cnx.close()与AttributeError:'Connection'对象没有属性'roll

python - 在 SQLAlchemy 中,我可以从现有的 ODBC 连接创建引擎吗?

我在一个给我提供ODBC连接的环境中工作,该连接是使用我无权访问的凭据创建的(出于安全原因)。但是,我想使用SQLAlchemy访问底层数据库-所以我的问题是,我可以将此ODBC连接传递给create_engine之类的东西,或者以一种看起来像SQLAlchemy连接的方式包装它吗?作为一个补充问题(并且基于可以满足第一部分的乐观假设)是否有一种方法可以告诉SQLA将哪种方言用于底层RDBMS?谢谢 最佳答案 是的,你可以:fromsqlalchemyimportcreate_enginefromsqlalchemy.poolimp

python - Oracle 表未拥有的 SqlAlchemy 反射

我正在使用SQLAlchemy对Oracle数据库运行SQL查询。我对数据库具有读取权限,但我拥有的用户不拥有我正在使用的任何表。数据库定期更新,所以我希望使用反射而不是显式列出元数据。我找到了thisquestion,它描述了一个类似于我所遇到的问题。但是,我没有办法更改表的所有权,也没有以任何方式修改数据库。我只有读取权限。如果我没有这些表的所有权,是否有办法在SQLAlchemy中反射(reflect)Oracle表?(编辑)示例代码:engine=create_engine('ORACLECONNECTIONSTRING')metadata=MetaData()students

python - sqlalchemy + MySQL 连接超时

我有一个使用sqlalchemy与MySQL数据库交互的守护进程。由于交互很少,连接容易超时。我试图通过在创建数据库引擎时设置各种标志来解决这个问题,例如pool_recycle=3600,但似乎没有任何帮助。为了帮助我调试问题,我将本地mysql服务器的超时设置为10秒,并尝试了以下程序。importtimeimportsqlalchemyengine=sqlalchemy.engine.create_engine("mysql://localhost")whileTrue:connection=engine.connect()result=connection.execute("S

python - 选择一批行 sqlalchemy mysql

我有一个MySQL数据库,其中包含几千个论坛帖子和文本。我想分批抓取它们,一次说1000个,然后在python3中对它们进行处理。我的单个帖子查询如下所示:pquery=session.query(Post).\filter(Post.post_id.like(post_id))如何更改它以便在给定post_id的情况下返回该帖子及其后的999个帖子? 最佳答案 使用limit和offset:pquery=session.query(Post).filter(Post.post_id.like(post_id)).limit(100

python - 单元测试sqlalchemy BinaryExpression

我正在为一些使用SQLAlchemy的代码编写一些单元测试。我想测试filter调用,但使用相同参数创建的SQLAlchemyBinaryExpression对象似乎不相等:AssertionError:Expectedcall:filter()Actualcall:filter()我想我可以将它们都转换为字符串并进行比较,但这看起来很老套,如果没有必要,我真的不想被迫尝试调试字符串比较。有没有更好/更结构化的方法来比较单元测试中的BinaryExpression? 最佳答案 你可以使用compare方法>>>binary_expr

python - 在 sqlalchemy 映射类构造函数中忽略额外关键字的选项?

在下面,我正在尝试从具有额外键的python字典中初始化一个sqlalchemy映射类。是否可以让映射类自动忽略额外的键而不是抛出错误?同样,如果键不存在,映射类可以有默认值吗?fromsqlalchemyimportColumn,Integer,StringclassUser(Base):__tablename__='users'id=Column(Integer,primary_key=True)name=Column(String)这是初始化部分:my_example_user={'id'=1,'name'='john','extra_key'=1234}User(**my_ex

python - PyQt 应用程序与 sqlalchemy 数据库

我尝试创建一个PyQt应用程序,并将数据存储到数据库中。我想使用sqlachemy访问我的数据并使用PyQt中的模型显示数据。在这个例子中,我使用了一个组合框来显示我的数据。我的代码“运行”很糟糕,因为每次我点击我的组合框时模型都会检查数据库数千次,使其非常缓慢。执行此操作的“规范方法”是什么?我在Windows下使用Python3.4和PyQt4。我的Python-Sqlalchemy-PyQt-english水平很低。#!/usr/bin/envpython3#-*-coding:utf-8-*-importsysimportsqlalchemyfromsqlalchemy.ext

python - Flask-SQLAlchemy 中的 db.Model 与 db.Table

Flask-SQLAlchemydocs假设多对多查找表不应该是db.Model的子类,而是写成db.Tables。来自文档:Ifyouwanttousemany-to-manyrelationshipsyouwillneedtodefineahelpertablethatisusedfortherelationship.Forthishelpertableitisstronglyrecommendedtonotuseamodelbutanactualtable为什么?让一切都成为模型的缺点是什么?我认为使用统一的方式在数据库中声明表看起来更清晰。此外,开发人员可能希望在以后的某个时间