使用现有数据部署到Heroku

时间:2016-10-06 10:23:16

标签: ruby-on-rails heroku

目前在Hartl教程的第2章中,我用户和微博制作了一个简单的应用程序。

我在数据库中添加了一些用户和微博。

在本章的最后,它可以让你将应用程序部署到Heroku。当我在Heroku上查看应用程序时,不再有用户或微博。

如何同时部署现有数据?

3 个答案:

答案 0 :(得分:1)

Heroku在本地拥有与您的应用程序不同的数据库。因此,当您运行git push heroku master

时,您在本地应用中创建的每个数据都不会被推送到Heroku

我会创建一个数据库转储(也许Seed Dump很有意思),所以你可以在Heroku中导入它,或者你可以将usersmicroposts放在种子文件中并运行{{1} }

http://railscasts.com/episodes/179-seed-data简要解释了如何为数据库播种

答案 1 :(得分:1)

使用YamlDb gem将数据转储到yaml文件。

按以下方式创建数据转储:

rake db:data:dump   ->   Dump contents of Rails database to db/data.yml

将代码推送到Heroku:

git push heroku master

将数据加载到heroku数据库:

heroku run rake db:data:load   ->   Load contents of db/data.yml into the database

答案 2 :(得分:0)

如果您正在使用postgres,您可以将本地数据库推送到您的heroku应用程序,执行以下操作:

签出config / database.yml文件以查看开发数据库的名称。对于这个例子,我称之为cool_development。然后,一旦你运行:

git push heroku master

然后运行迁移以创建数据库:heroku run rake db:migrate 然后将数据库推送到heroku:heroku pg:push cool_development DATABASE_URL --app app_name_here

heroku为您创建的数据库是使用DATABASE_URL环境变量访问的,因此除了本地数据库名称之外,您不需要更改上述行中的任何内容,除非您的应用程序被命名为“酷”'洛尔。