微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – 如何将heroku数据提取到本地SQLite3数据库?遇到问题

我正在尝试从我的Rails应用程序进行本地备份,该应用程序部署到Heroku,并遇到问题.我按照这里的说明操作: http://docs.heroku.com/taps并安装了Taps.

我有两种类型的错误.我在本地创建了一个sqlite数据库,并尝试使用此命令提取数据:

(sudo) heroku db:pull sqlite://Users/username/folder/testbackup.db

要么

(sudo) heroku db:pull sqlite://username:password@localhost/Users/username/folder/testbackup.db

但不管怎样,我得到了这个:

Failed to connect to database:
Sequel::DatabaseConnectionError -> sqlite3::CantOpenException: Could not open database: unable to open database file

或者,我尝试让Taps在我的应用程序中自动检测开发数据库并重写它,尽管这不是我想要的.然后我开始得到如下错误

/opt/local/lib/ruby/site_ruby/1.8/rubygems.rb:777:in report_activate_error': RubyGem version error: sequel(3.15.0 not ~> 3.13.0) (Gem::LoadError)
from /opt/local/lib/ruby/site_ruby/1.8/rubygems.rb:211:in
activate’
from /opt/local/lib/ruby/site_ruby/1.8/rubygems.rb:1056:in `gem’
from /Library/Ruby/Gems/1.8/gems/taps-0.3.10/bin/schema:4

并最终

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4/lib/sqlite3/errors.rb:62:in `check’: sqlite3::sqlException: PRIMARY KEY must be unique (Sequel::DatabaseError)

非常感谢,我开始尽快备份这些数据非常重要!

解决方法

一些问题.首先,你的续集连接字符串是错误的.尝试
heroku db:pull sqlite:///Users/username/folder/testbackup.db

如果仍然出现异常,则可能是由于权限问题,因此请确保您可以写入该路径.

您的Rubygem版本错误是因为当前版本的水龙头需要Sequel 3.13.0,并且您已经激活了3.15.0.您需要使用3.13.0或者您需要编辑点击宝石规范以使用3.15.0.

PRIMARY KEY必须是唯一的sqlite异常.没有完整的回溯和代码,很难猜出它为什么会发生.

原文地址:https://www.jb51.cc/ruby/264755.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐