草庐IT

SQLALCHEMY_MIGRATE_REPO

全部标签

python - 如何禁用 SQLAlchemy 缓存?

我在使用sqlalchemy时遇到缓存问题。我使用sqlalchemy将数据插入MySQL数据库。然后,我让另一个应用程序处理这些数据,并直接更新它。但是sqlalchemy总是返回旧数据而不是更新后的数据。我认为sqlalchemy缓存了我的请求……所以……我应该如何禁用它? 最佳答案 除了事务本地的通常SQLAlchemy身份映射之外,人们认为存在“缓存”的通常原因是他们正在观察事务隔离的影响。SQLAlchemy的session默认在事务模式下工作,这意味着它会等到调用session.commit()以便将数据持久化到数据库中

python - 如何禁用 SQLAlchemy 缓存?

我在使用sqlalchemy时遇到缓存问题。我使用sqlalchemy将数据插入MySQL数据库。然后,我让另一个应用程序处理这些数据,并直接更新它。但是sqlalchemy总是返回旧数据而不是更新后的数据。我认为sqlalchemy缓存了我的请求……所以……我应该如何禁用它? 最佳答案 除了事务本地的通常SQLAlchemy身份映射之外,人们认为存在“缓存”的通常原因是他们正在观察事务隔离的影响。SQLAlchemy的session默认在事务模式下工作,这意味着它会等到调用session.commit()以便将数据持久化到数据库中

python - 检查 SQLAlchemy 中互斥列的约束

如果我有如下所示的SQLAlchemy声明式模型:classTest(Model):__tablename__='tests'id=Column(Integer,Sequence('test_id_seq'),primary_key=True)...Atest_id=Column(Integer,ForeignKey('Atests.id'),nullable=True)Btest_id=Column(Integer,ForeignKey('Btests.id'),nullable=True)Ctest_id=Column(Integer,ForeignKey('Ctests.id')

python - 检查 SQLAlchemy 中互斥列的约束

如果我有如下所示的SQLAlchemy声明式模型:classTest(Model):__tablename__='tests'id=Column(Integer,Sequence('test_id_seq'),primary_key=True)...Atest_id=Column(Integer,ForeignKey('Atests.id'),nullable=True)Btest_id=Column(Integer,ForeignKey('Btests.id'),nullable=True)Ctest_id=Column(Integer,ForeignKey('Ctests.id')

python - 我什么时候应该使用 for 循环提交 SQLAlchemy?

哪个是正确的?我知道第一个会起作用,但我怀疑它对数据库的工作比可能需要的要多。第二个是否同样有效,但对数据库的工作更少?我正在使用MySQLFWIW。foriteminitems:db.session.add(item)db.session.commit()或foriteminitems:db.session.add(item)db.session.commit() 最佳答案 我认为您的第二个解决方案更好,但这取决于您如何配置session。特别是自动刷新和自动提交设置。此外,您应该使用对事务有良好支持的引擎,例如innodb。假设

python - 我什么时候应该使用 for 循环提交 SQLAlchemy?

哪个是正确的?我知道第一个会起作用,但我怀疑它对数据库的工作比可能需要的要多。第二个是否同样有效,但对数据库的工作更少?我正在使用MySQLFWIW。foriteminitems:db.session.add(item)db.session.commit()或foriteminitems:db.session.add(item)db.session.commit() 最佳答案 我认为您的第二个解决方案更好,但这取决于您如何配置session。特别是自动刷新和自动提交设置。此外,您应该使用对事务有良好支持的引擎,例如innodb。假设

python - 在 SQLAlchemy 中使用 bulk_update_mappings 更新具有不同值的多行

我有两张tableFoo和Bar。我刚刚在Bar表中添加了一个新列x,它必须使用Foo中的值来填充classFoo(Base):__table__='foo'id=Column(Integer,primary_key=True)x=Column(Integer,nullable=False)classBar(Base):__table__='bar'id=Column(Integer,primary_key=True)x=Column(Integer,nullable=False)foo_id=Column(Integer,ForeignKey('foo.id'),nullable=F

python - 在 SQLAlchemy 中使用 bulk_update_mappings 更新具有不同值的多行

我有两张tableFoo和Bar。我刚刚在Bar表中添加了一个新列x,它必须使用Foo中的值来填充classFoo(Base):__table__='foo'id=Column(Integer,primary_key=True)x=Column(Integer,nullable=False)classBar(Base):__table__='bar'id=Column(Integer,primary_key=True)x=Column(Integer,nullable=False)foo_id=Column(Integer,ForeignKey('foo.id'),nullable=F

mysql - 数据库 :schema:load vs db:migrate with capistrano

我有一个Rails应用程序,我正在移动到另一台服务器,我想我应该使用db:schema:load来创建mysql数据库,因为它是推荐的。我的问题是我正在使用capistrano进行部署,它似乎默认为rakedb:migrate。有没有办法改变这个或者capistrano使用db:migrate有充分的理由? 最佳答案 为什么要使用db:schema:load我发现我自己的迁移最终会对数据进行一些混洗(例如,假设我将first_name和last_name列组合成一个full_name列)。只要我做了其中任何一项,我就会开始使用Act

mysql - 数据库 :schema:load vs db:migrate with capistrano

我有一个Rails应用程序,我正在移动到另一台服务器,我想我应该使用db:schema:load来创建mysql数据库,因为它是推荐的。我的问题是我正在使用capistrano进行部署,它似乎默认为rakedb:migrate。有没有办法改变这个或者capistrano使用db:migrate有充分的理由? 最佳答案 为什么要使用db:schema:load我发现我自己的迁移最终会对数据进行一些混洗(例如,假设我将first_name和last_name列组合成一个full_name列)。只要我做了其中任何一项,我就会开始使用Act