将数据和模式从开发迁移到生产rails heroku

时间:2013-09-13 07:23:17

标签: ruby-on-rails git sqlite postgresql heroku

我在将数据迁移到我的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

请告诉我我做错了什么。或者用我的开发sqlite3数据更新heroku postgresql的正确方法是什么。

先谢谢

1 个答案:

答案 0 :(得分:1)

使用您现在在开发数据库中拥有的数据填充生产数据库并不是一个好主意。因为,如果将来生产数据库出现问题,并且需要再次重新填充,那么您的开发数据库可能会更改(例如丢弃),并且您将无法再次执行此操作。

对于这种需要,Rails在db/seeds.rb文件中提供种子。你应该在那里创建所有必要的对象。

然后当您将代码推送到Heroku时,Heroku将准备数据库,创建模式并播种。如果您需要手动为数据库设定种子,则可以运行bundle exec rake db:seed,如果要在Heroku中运行它:heroku run bundle exec rake db:migrate