我在将数据迁移到heroku应用程序时遇到了问题,该应用程序将Postgresql作为托管站点(生产)的数据库。在我的开发站点上,我有rails 3.2.13和Sqlite3作为数据库。我一直关注Ruby on rails Tutorial by Michael Hartl
我用git push heroku
更新了我在heroku的站点。我还想更新数据库和数据。但是heroku run rake db:migrate
迁移的是模式而不是数据。我试图将数据推送到heroku,但是我得到了一个错误db:push
此外,我已经搜索并发现,我应该首先将sqlite数据转储到dump.sql,然后运行dependency.rb in 'to_specs' :Could not find sequel (~) 3.20.0
如https://stackoverflow.com/questions/15371394/...中所述
但它失败了heroku pg:psql HEROKU_POSTGRESQL_COLOR --app app_name < file.sql
请告诉我我做错了什么。或者用我的开发sqlite3数据更新heroku postgresql的正确方法是什么。
提前谢谢
最佳答案
用开发数据库中现有的数据填充生产数据库不是一个好主意。因为,如果将来您的生产数据库有问题,需要重新填充,那么您的开发数据库可能会更改(例如删除),并且您将无法再次执行此操作。
为此,Rails在db/seeds.rb
文件中提供种子。你应该在那里创建所有必要的对象。
然后,当您将代码推送到Heroku时,Heroku将准备数据库,创建模式,并为其播种。如果需要手动设置数据库种子,则可以运行bundle exec rake db:seed
,如果要在Heroku中运行它:heroku run bundle exec rake db:migrate
关于ruby-on-rails - 将数据和模式从开发迁移到生产 rails heroku,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18780565/