在部署Heroku的应用程序后,我在用我需要的一些数据填充数据库时遇到了问题。我运行了heroku-rake-db:popuple,它确实创建了最初的管理员用户,但未能将其余数据放入
我正在用本地磁盘中的文件填充数据库。我怀疑这个问题是因为它在sample_data.rake文件中列出的目录中看不到任何东西,因为它在我的hdd上,而不是在服务器上。我该怎么绕过这个?
我想我要么托管所有文件并将目录更改为servers目录,要么想办法解决这个问题。我想有一种简单的方法可以将数据库从我的计算机移动到heroku?很明显,我对此很陌生。
谢谢!
heroku命令已更改。现在应该是:
heroku run rake db:push
heroku pg:reset DATABASE
heroku run rake db:seed
还可以通过安装taps-gem和推送本地PostgreSQL数据库的数据,将本地数据库的数据上传到heroku。
gem install taps
heroku db:push
如果您有一个干净的本地数据库(即只有好的东西,没有愚蠢的测试数据),那么您可以尝试heroku db:push
:
db:push [<database_url>]
#将本地数据库推送到应用程序的远程数据库
如果您要使用Heroku共享或专用数据库,请记住在PostgreSQL上进行开发,在开发和生产环境中使用相同的数据库和版本(8.3版本表示共享,9.0版本表示专用)将为您省去很多痛苦和困惑。
参考文献:
- 如何将现有数据导入Heroku
- 导入:推送至Heroku
我设置了开发数据库,并将其推送到Heroku。
rake db:reset
rake db:seed
heroku rake db:push
如果您使用默认的PostgreSQL,另一个选项是
heroku pg:reset
heroku rake db:seed
我在seed.rb文件中使用以下内容:
require 'pathname'
RailsRoot = Pathname.new(RAILS_ROOT).expand_path
print "Loading data..."
fileData = File.read (RailsRoot + "db/data-file.csv")