草庐IT

java - 强制事务回滚而不遇到异常?

我有一个方法可以做很多事情;其中包括许多插入和更新。它是这样声明的:@Transactional(propagation=Propagation.REQUIRED,isolation=Isolation.DEFAULT,readOnly=false)publicintsaveAll(){//dostuff;}它完全按照预期工作,我对此没有任何问题。然而,在某些情况下,尽管没有异常,但我想强制回滚......目前,当我遇到正确的条件时,我正在强制异常,但这很丑陋,我不喜欢它。我可以以某种方式主动调用回滚吗?异常调用它...我想也许我也可以。 最佳答案

java - @Test 后回滚事务

首先,我在StackOverflow上找到了很多关于此的主题,但没有一个对我有真正帮助,很抱歉提出可能重复的问题。我正在使用spring-test运行JUnit测试,我的代码如下所示@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations={})publicclassStudentSystemTest{@AutowiredprivateStudentSystemstudentSystem;@BeforepublicvoidinitTest(){//setupthedatabase,createbasic

php - Symfony2 Doctrine MongoDB 回滚

我正在尝试使用Symfony2、Doctrine和MongoDB构建一组安全的测试。我需要做的是在测试开始时加载大量夹具,并在测试结束时卸载它们。我想用transaction来做,但是...我找不到关于如何用Doctrine和Mongo做的文档!我找到了gooddocumentation在Doctrine文档中关于如何与ORM进行交易,而不是关于ODM。所以我看了一下sourcecodeoftheConnection.phpDoctrine-Mongo也使用了类,我还没有找到dbalversion的beginTransaction、commit和rollback方法用途。我一无所知,然

node.js - 如何在mongodb中实现事务回滚?

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion我在mongodb上使用Mongoose。在来自nodejsexpress服务器的请求和响应中,通常不需要通过mongoose对mongodb进行查询。在许多情况下,如果前几个查询成功执行,然后在事务下全部失败,则可能会发生这种情况。现在我需要将我的数据库状态回滚到数据库的初始状态。那么我怎样才能在mongodb中有效地回滚呢?请提供一些合适的引用资料。 最佳答案

sql - database/sql Tx - 检测提交或回滚

使用database/sql和驱动程序包和Tx,如果不尝试另一个事务并因此收到错误,然后检查错误以确定错误的类型。我希望能够从Tx对象中确定是否已提交。当然,我可以在使用Tx的函数中定义和设置另一个变量,但我有很多变量,每次都是2次(变量和赋值)。如果需要,我还有一个延迟函数来执行回滚,并且需要将它传递给bool变量。在Commit或Rollback之后将Tx变量设置为nil是否可以接受,并且GC是否会恢复任何内存,或者这是不行的,还是有更好的选择? 最佳答案 您要确保Begin()、Commit()和Rollback()出现在同一

git上传到远程仓库+回滚到之前的某次commit

一.git上传到远程仓库0)第一次用git需要配置用户名和邮箱,之后就不用了。1)用gitremote-v查看已添加的远程地址,并用gitremoteremove及时删除之前的地址,以防传错覆盖【传错可考虑第二步中的回滚操作】2)用 gitremoteadd 添加待传的远程主机名2)用gitstatus 查看当前状态,红色字体显示修改了的文件3)用gitadd. 或gitadd提交文件到本地缓存区。前者表示全部,后者可选想提交的4)用gitcommit-m""提交修改到本地git库中5)用gitpull取回远程主机某个分支的更新,再与本地的指定分支合并。若出现报错:“refusingtomer

ruby-on-rails - 无法回滚迁移

我创建了迁移:classAddVisibleToStocks我迁移了它。一切正常,但当我需要回滚时,我看到了错误:rakedb:rollback==20180404150630AddVisibleToStocks:reverting===============================--remove_column(:stocks,:visible,:boolean)rakeaborted!StandardError:Anerrorhasoccurred,thisandalllatermigrationscanceled:SQLite3::ConstraintException

ruby-on-rails - ActiveRecord 事务没有回滚整个事务

我有一个票模型,用户可以从给定的序列号开始连续购买票。用户选择他们想要购买的门票数量,Controller生成该数量的门票并存储在数据库中。但是,如果一张票未能保存,事务应该回滚,但在这种情况下不会。tickets_controller.rb...defcreatenumber=params[:ticket_qty].to_i@tickets=Array.newnumber.timesdo|n|t=Ticket.new(ticket_params)t.serial_number=t.serial_number.to_i+n@tickets.push(t)endrespond_todo|

ruby-on-rails - 是否可以撤消 rake db 回滚?

我不小心运行了rakedb:migrate,然后运行了rakedb:rollback。现在我之前创建的数据库表完全没有了。有什么方法可以撤消回滚,还是我应该只恢复到最近的分支? 最佳答案 您可以执行rakedb:migrate以再次执行相同的迁移。 关于ruby-on-rails-是否可以撤消rakedb回滚?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/21673253/

ruby - 回滚由 minitest 单元测试创​​建的更改

我正在Minitest中编写一个创建数据库条目的测试用例。测试运行后,测试所做的所有更改都应回滚。实现这一目标的好方法是什么?require'minitest/autorun'require'rubygems'require'sequel'require'factory_girl'classTestPostgresqlFunctions使用此代码,创建的条目将保留在数据库中。我没有使用Rails或任何其他框架。我使用的数据库是PostgreSQL9.1。 最佳答案 这应该有效(需要Sequel3.29.0或更高版本):#Usethi