本地 sql 数据库和 heroku postgres 数据库文件不同,如何再次同步? Ruby 在 Rails
Local sql database and heroku postgres database files differ, how to sync again? Ruby on Rails
我目前正在学习 Michael Hartl 的 Rails 教程 Ruby。一路上的某个地方我搞砸了我的数据库。在我的数据库文件中只有 1 个用户,名字叫 Bob。
在 cloud9 本地 IDE,当我执行 'rails console' 然后执行 Users.first 时,我得到一个名为 "Bob".
的用户
但是,当我执行 'heroku rails run console' 和 Users.first 时,我得到了一个具有不同名称的用户。 (我可能在途中更改了名称)
如何让 Heroku 再次看到正确的本地数据库文件?我应该清除 heroku 数据库,然后使用 pg:pull 将本地 sql 数据库拉到 heroku 吗?
您可以使用yaml_db gem将本地数据转储到文件,然后将其上传到heroku。
在您的开发机器上:
rake db:data:dump
然后提交更改,推送到 heroku 和 运行:
heroku run rake db:data:load
不确定您是否已经读到第 9 章,但当前本书的 section 9.3.2 涉及创建示例用户。这是通过 db/seeds.rb
文件完成的。
运行 $ bundle exec rake db:reset
然后重置您的数据库,然后 $ bundle exec rake db:seed
用您的新数据填充它。
您可以 运行 在您的生产应用程序中使用相同的过程:
heroku pg:reset DATABASE
heroku run rake db:migrate
heroku run rake db:seed
当然,也可以使用 heroku-pg-transfer 等工具在本地数据库和生产数据库之间传输数据,但如果您只是刚开始,那会有点高级,而且我认为如果您没有必要只有一个用户可以转移。
希望这对您有所帮助。
我目前正在学习 Michael Hartl 的 Rails 教程 Ruby。一路上的某个地方我搞砸了我的数据库。在我的数据库文件中只有 1 个用户,名字叫 Bob。
在 cloud9 本地 IDE,当我执行 'rails console' 然后执行 Users.first 时,我得到一个名为 "Bob".
的用户但是,当我执行 'heroku rails run console' 和 Users.first 时,我得到了一个具有不同名称的用户。 (我可能在途中更改了名称)
如何让 Heroku 再次看到正确的本地数据库文件?我应该清除 heroku 数据库,然后使用 pg:pull 将本地 sql 数据库拉到 heroku 吗?
您可以使用yaml_db gem将本地数据转储到文件,然后将其上传到heroku。
在您的开发机器上:
rake db:data:dump
然后提交更改,推送到 heroku 和 运行:
heroku run rake db:data:load
不确定您是否已经读到第 9 章,但当前本书的 section 9.3.2 涉及创建示例用户。这是通过 db/seeds.rb
文件完成的。
运行 $ bundle exec rake db:reset
然后重置您的数据库,然后 $ bundle exec rake db:seed
用您的新数据填充它。
您可以 运行 在您的生产应用程序中使用相同的过程:
heroku pg:reset DATABASE
heroku run rake db:migrate
heroku run rake db:seed
当然,也可以使用 heroku-pg-transfer 等工具在本地数据库和生产数据库之间传输数据,但如果您只是刚开始,那会有点高级,而且我认为如果您没有必要只有一个用户可以转移。
希望这对您有所帮助。