我在将数据迁移到我的heroku应用程序时面临问题,该应用程序将Postgresql作为托管站点的数据库(生产)。在我的开发站点,我使用rails 3.2.13和Sqlite3作为数据库。我关注了Ruby on rails Tutorial by Michael Hartl
我使用git push heroku
在heroku更新了我的网站。我还想更新数据库和数据。但是heroku run rake db:migrate
迁移架构而不是数据。我尝试db:push
将数据推送到heroku但我收到错误
dependency.rb in 'to_specs' :Could not find sequel (~) 3.20.0
我也搜索过,发现我应该首先将我的sqlite数据转储到dump.sql然后再运行
在https://stackoverflow.com/questions/15371394/...中回答 heroku pg:psql HEROKU_POSTGRESQL_COLOR --app app_name < file.sql
但它失败了
the local psql command could not be located
先谢谢
答案 0 :(得分:1)
使用您现在在开发数据库中拥有的数据填充生产数据库并不是一个好主意。因为,如果将来生产数据库出现问题,并且需要再次重新填充,那么您的开发数据库可能会更改(例如丢弃),并且您将无法再次执行此操作。
对于这种需要,Rails在db/seeds.rb
文件中提供种子。你应该在那里创建所有必要的对象。
然后当您将代码推送到Heroku时,Heroku将准备数据库,创建模式并播种。如果您需要手动为数据库设定种子,则可以运行bundle exec rake db:seed
,如果要在Heroku中运行它:heroku run bundle exec rake db:migrate