草庐IT

sqlalchemy-migrate

全部标签

python - SQLAlchemy,清除数据库内容但不删除架构

我正在开发一个基于现有数据库的Pylons应用程序,所以我正在使用反射。我有一个SQL文件,其中包含用于创建测试数据库的架构。这就是为什么我不能简单地使用drop_all和create_all。我想写一些单元测试,每次测试后我都遇到了清除数据库内容的问题。我只想删除所有数据但保持表格完好无损。这可能吗?应用程序使用Postgres,这也是测试必须使用的。 最佳答案 我在SQLAlchemyGoogle小组上询问了同样的事情,我得到了一个看起来效果很好的食谱(我所有的table都被清空了)。见thethread供引用。我的代码(摘录)

python - 导入错误 : No module named sqlalchemy

我无法在python中找到一个模块,尽管easy_install说它已经安装了。知道如何解决这个问题吗?$python-c"fromflaskext.sqlalchemyimportSQLAlchemy"Traceback(mostrecentcalllast):File"",line1,inImportError:Nomodulenamedsqlalchemy$python-VPython2.7$sudoeasy_installsqlalchemySearchingforsqlalchemyBestmatch:SQLAlchemy0.7.7AddingSQLAlchemy0.7.7t

python - SQLAlchemy,获取未绑定(bind)到 session 的对象

我正在尝试从数据库中获取对象集合并将其传递给未连接到数据库的另一个进程。我的代码如下所示,但我不断收到:sqlalchemy.exc.UnboundExecutionError:InstanceisnotboundtoaSession;attributerefreshoperationcannotproceed当我尝试查看get_list()方法之外的列表元素时。defget_list(obj):sesson=Session()lst=session.query(MyClass).all()session.close()returnlst但是,如果我使用这个:defget_list_b

python - sqlalchemy 存在用于查询

如何检查查询中的数据是否存在?例如:users_query=User.query.filter_by(email='x@x.com')我如何检查是否存在使用该电子邮件的用户?我可以用来检查users_query.count()但是如何用exists检查它? 最佳答案 下面的解决方案稍微简单一点:fromsqlalchemy.sqlimportexistsprintsession.query(exists().where(User.email=='...')).scalar() 关于pyt

sqlalchemy - 如何获取最后一条记录

我需要从数据库中获取最后一条记录。我正在使用sqlalchemy。目前,我正在这样做:obj=ObjectRes.query.all()returnstr(obj[-1].id)但是查询太重了。我怎样才能更好地获得最后的记录? 最佳答案 看看Query.first().如果您指定sort在右栏中,第一个将是您的最后一个。一个示例可能如下所示:obj=session.query(ObjectRes).order_by(ObjectRes.id.desc()).first() 关于sqlal

python - 如何关闭 SQLAlchemy session ?

按照我们在HowtoclosesqlalchemyconnectioninMySQL中的评论,我正在检查SQLAlchemy在我的数据库中创建的连接,如果不退出Python,我将无法关闭它们。如果我在python控制台中运行此代码,它会保持session打开,直到我从python退出:fromsqlalchemy.ormimportsessionmakerfrommodelsimportOneTable,get_engineengine=get_engine(database="mydb")session=sessionmaker(bind=engine)()results=sessi

python - sqlalchemy 过滤多列

如何合并两列并应用过滤器?例如,我想同时在“firstname”和“lastname”列中进行搜索。如果只搜索一列,我就是这样做的:query=meta.Session.query(User).filter(User.firstname.like(searchVar)) 最佳答案 有很多方法可以做到:使用filter()(and运算符)query=meta.Session.query(User).filter(User.firstname.like(search_var1),User.lastname.like(search_var

python - Django 1.7 - "No migrations to apply"在 makemigrations 后运行迁移时

我使用Django1.7和Mezzanine。我创建了存储在单独的应用程序“配置文件”中的简单配置文件(根据夹层文档):classRoadmapProfile(models.Model):user=models.OneToOneField("auth.User")fullname=models.CharField(max_length=100,verbose_name="Fullname")创建迁移返回:Migrationsfor'profiles':0001_initial.py:-CreatemodelRoadmapProfile当我运行“迁移配置文件”时:Operationsto

python - 如何使用 sqlalchemy 有效地管理频繁的模式更改?

我正在使用sqlalchemy编写一个Web应用程序。在网站未投入生产的第一阶段开发过程中,一切都很顺利。我可以通过简单地删除旧的sqlite数据库并从头开始创建一个新数据库来轻松更改数据库架构。现在网站正在生产中,我需要保留数据,但我仍然希望通过轻松地将数据库转换为新架构来保持我原来的开发速度。假设我有版本50的model.py和版本75的model.py,描述了数据库的架构。在这两个模式之间,大多数更改都是微不足道的,例如,使用默认值声明了一个新列,我只想将此默认值添加到旧记录中。最终,一些更改可能并非微不足道,需要进行一些预先计算。您如何(或将)如何处理快速变化的Web应用程序,

python - 我什么时候需要使用 sqlalchemy back_populates?

当我按照本指南尝试SQLAlchemy关系示例时:BasicRelationshipPatterns我有这个代码#!/usr/bin/envpython#encoding:utf-8fromsqlalchemyimportcreate_enginefromsqlalchemyimportTable,Column,Integer,ForeignKeyfromsqlalchemy.ormimportrelationship,sessionmakerfromsqlalchemy.ext.declarativeimportdeclarative_baseengine=create_engine