ruby-on-rails – SQLite3错误 – 无法回滚 – 没有事务处于活动
发布时间:2020-12-16 20:51:19 所属栏目:百科 来源:网络整理
导读:已解决(见下文) 当我试图在我的Ruby on Rails应用程序(或在控制台中)创建或销毁记录(在SQLite3上运行)时,我得到一个SQL异常: irb(main):014:0 ApiCache.all= []irb(main):015:0 ApiCache.create(:hash = 'qwe',:contents = 'asd')SQLite3::SQLException: ca
已解决(见下文)
当我试图在我的Ruby on Rails应用程序(或在控制台中)创建或销毁记录(在SQLite3上运行)时,我得到一个SQL异常: irb(main):014:0> ApiCache.all => [] irb(main):015:0> ApiCache.create(:hash => 'qwe',:contents => 'asd') SQLite3::SQLException: cannot rollback - no transaction is active from C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/sqlite3-1.3.3-x86-mingw32/lib/sqlite 3/database.rb:97:in `close' from C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/sqlite3-1.3.3-x86-mingw32/lib/sqlite 3/database.rb:97:in `prepare' from C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/sqlite3-1.3.3-x86-mingw32/lib/sqlite 3/database.rb:134:in `execute' from C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/sqlite3-1.3.3-x86-mingw32/lib/sqlite 3/database.rb:517:in `rollback' from C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/activerecord-3.0.6/lib/active_record /connection_adapters/sqlite_adapter.rb:168:in `rollback_db_transaction' from C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/activerecord-3.0.6/lib/active_record /connection_adapters/abstract/database_statements.rb:176:in `transaction' from C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/activerecord-3.0.6/lib/active_record /transactions.rb:207:in `transaction' from C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/activerecord-3.0.6/lib/active_record /transactions.rb:290:in `with_transaction_returning_status' from C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/activerecord-3.0.6/lib/active_record /transactions.rb:240:in `save' from C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/activerecord-3.0.6/lib/active_record /transactions.rb:251:in `rollback_active_record_state!' from C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/activerecord-3.0.6/lib/active_record /transactions.rb:239:in `save' from C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/activerecord-3.0.6/lib/active_record /base.rb:498:in `create' from (irb):15 from :0 irb(main):016:0> ApiCache.all => [#<ApiCache id: 9,hash: "qwe",contents: "asd",created_at: "2011-05-09 13:09:31",updated_at: " 2011-05-09 13:09:31">] 记录保存到数据库中,但也会抛出此类错误.我试图删除我的数据库然后再次创建和迁移它,但它似乎没有任何好处. 我真的很感激有关如何修复它的任何想法.我以前从未遇到过这样的事情=( 解 我摧毁了我的模型并创建了另一个模型.必须在属性名称中有一些冲突,因为新的现在有fp:string contents:text并且工作得很好.可能是破坏SQLite的词哈希=)谢谢你们! 解决方法
神圣抽烟……实际情况是,字段名称“hash”会导致sqlite3抛出这个非常无用的错误.棘手的……
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 22.cocos2d-x数据结构
- oracle – 带参数的rman脚本
- 安装Win7codecs 后rmvb缩略图倒置的解决方法
- ruby-on-rails – 将附加标题添加到Carrierwave for Amazon
- ruby-on-rails – Rails 3更改错误消息
- ruby-on-rails – Rails – 在模型验证失败时因URL更改而混
- objective-c – 什么机制检测未分配内存的访问?
- c – VC2010是静态初始化线程安全吗?
- ruby-on-rails – `add_frozen_gem_path’:Gem的未定义方法
- 一个ClientDataset的Delta与XML相互转换