gpt4 book ai didi

ruby-on-rails - 如何将 Heroku 数据拉入本地 SQLite3 数据库

转载 作者:IT王子 更新时间:2023-10-29 06:25:28 25 4
gpt4 key购买 nike

我正在尝试对部署到 Heroku 的 Rails 应用程序中的数据进行本地备份,但遇到了问题。我关注了taps instructions并安装了 Tap。

我遇到两种类型的错误。我在本地创建了一个 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)

最佳答案

几个问题。首先,你的 Sequel 连接字符串是错误的。尝试

heroku db:pull sqlite:///Users/username/folder/testbackup.db

如果仍然出现异常,可能是权限问题,请确保您可以写入该路径。

你的Rubygem版本错误是因为taps当前版本需要Sequel 3.13.0,而你已经激活了3.15.0。您要么需要使用 3.13.0,要么需要编辑 taps gem 规范以使用 3.15.0。

主键必须是唯一的是一个 SQLite 异常。没有完整的回溯和代码,很难猜测它发生的原因。

关于ruby-on-rails - 如何将 Heroku 数据拉入本地 SQLite3 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3713816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com