草庐IT

ruby-on-rails - 在 rails 中提交后回滚事务

保存成功后可以回滚吗?让我有一个带有属性名称、电子邮件等的用户模型。例如u=User.newu.name="test_name"u.email="test@email.com"u.save现在记录将成功保存在数据库中,之后我想回滚我的事务(不是销毁或删除)。有什么想法吗? 最佳答案 您可以通过交易来做到这一点,请参阅http://markdaggett.com/blog/2011/12/01/transactions-in-rails/例子:User.transactiondoUser.create(:username=>'Nemu

ruby - 如何使用 PG Ruby Gem 有条件地回滚事务

我目前正在上一门数据库类(class),其中一个实验室问题让我困惑于如何实现上述内容,事实上,如果可能的话。我试过搜索docs但是定义的交易方式比较模糊。这是我第一次尝试在没有Rails的情况下进行任何数据库操作,所以我有点迷茫。我已经成功地创建了一个到我的postgresql数据库的连接并且可以执行语句,我需要做的最后一件事是根据一个简单的条件回滚一个事务。请允许我向您展示代码:require'pg'@conn=PG::Connection.open(:dbname=>'db_15_11_labs')@conn.prepare('insert','INSERTINTOhouse(ho

ruby-on-rails - 回滚所有 rails 迁移或删除表并修改迁移(从头开始)

我是Rails的新手,开始了一个我对我的模型和数据库模式不满意的项目。我想从头开始,但保留我所有的观点,Controller。执行此操作的最佳方法是什么?我想删除所有迁移和所有模型。在此过程之后不应留下不相关的文件(例如不再使用的迁移)。如果有帮助,我正在使用Rails3.1谢谢! 最佳答案 首先,将您的迁移回滚到版本0。rakedb:migrateVERSION=0然后您手动删除您的迁移和模型,保持Controller和View完好无损。 关于ruby-on-rails-回滚所有rai

ruby-on-rails - factory_girl + rspec 似乎不会在每个示例后回滚更改

类似于此处描述的问题:http://rpheath.com/posts/411-how-to-use-factory-girl-with-rspec简而言之(缩短的代码):规范助手:config.use_transactional_fixtures=trueconfig.use_instantiated_fixtures=false工厂.rb:Factory.define:statedof.name"NY"end在我的规范中before(:each)do@static_model=Factory(:state)#withvalidateuniquenessofstatenameend错

关闭Navicat的自动提交,不然就很难回滚了

用Navicat的时候一定要注意,如果未关闭自动提交,它会自动提交,这样的话,如果是大批量的修改,就很难回滚了!!!(注:自动提交:相当于执行了commit)1、先检查一下自己的Navicat,是不是自动提交,执行一下语句;showvariableslike'autocommit'如果发现是ON的话,说明自动提交打开了,这时一定得关掉。解决办法:执行如下sqlsetautocommit=0;deletefromtable1whereid=xxx;commit;orrollback;3、然后在检查一下,是不是已经关闭了,如果发现是OFF的话,说明关闭了4、然后就可以在增删改后,可以回滚了。5、实

ruby-on-rails - 在 RoR 中回滚生成的 Controller /模型

我使用脚手架创建了一个模型和Controller文件。后来我发现先在数据库中创建表是个好主意...我的问题是,如果我在数据库中有表,我如何才能恢复生成的文件并重新生成它们?我刚开始学习RoR,所以现在我对最佳实践不感兴趣,只是学习这个FW(RoR)附带的工具箱。还有,你有好的教程推荐吗?我确实知道使用谷歌,只是搜索引擎还不知道(正在努力)如何对教程进行评分。编辑:对于我的最后一个问题,我找到了LearningRubyonRails 最佳答案 尝试railsdestroyscaffoldXXXXX但我感到困惑的一件事是您说“后来我发现

ruby-on-rails - 为什么当我尝试 user.save 时我的 Rails 回滚?

我已经安装了RailsTutorial示例应用程序(类似twitter的应用程序),并且我试图了解为什么当我尝试更新用户数据库时,以下控制台代码没有更新数据库。我希望在使用user.save后更新用户信息。但是,这会回滚到未经编辑的数据。这是由于基于用户的限制吗?用户Controller:classUsersController'Userwassuccessfullyupdated.')}format.json{respond_with_bip(@user)}elseformat.html{render:action=>"edit"}format.json{respond_with_b

javascript - 如何回滚无法在jstree中移动的节点

我想弄清楚如何只回滚未成功移动的文件夹节点。下面的代码是我正在尝试做的一个例子。当您选择了几个文件夹并将它们移动到另一个文件夹时,问题就来了。如果其中一个目录无法移动,我希望能够将其回滚到其原始父目录。不幸的是,$.jstree.rollback(data.rlbk);将所有选定的文件夹回滚到它们之前的位置。$("#tree").jstree({...}).bind("move_node.jstree",function(e,data){//processallselectednodesdirectorydata.rslt.o.each(function(i){//Sendreques

javascript - 使用 async/await 提交/回滚 knex 事务

我正在试驾ES7async/awaitproposal使用thismodule模仿它。我正在尝试制作knex.js作为起点,交易与它们配合得很好。示例代码:asyncfunctiontransaction(){returnnewPromise(function(resolve,reject){knex.transaction(function(err,result){if(err){reject(err);}else{resolve(result);}});});}//Starttransactionfromthiscallinsert:async(function(db,data){

go - 如何在事务回滚上添加一些操作

//将CloseJira状态更新到数据库中问题陈述-Golang如何以及在何处调用autogeneratedjiraclose()函数以在回滚触发时运行某些操作。funcCloseJira(qMonNamestring){tx,err:=dbCon.Begin()notifier.CheckErr(err,"CloseJira()->tx->dbCon.Begin()",dbErrLog)defertx.Rollback()stmt,errDBPrepare:=tx.Prepare("updateTABLE1setKey=NULL,StatusKey='Closed',Statusti