2016-10-06 8 views
0

現在、Hartlチュートリアルの第2章では、ユーザとマイクロポストを使って簡単なアプリケーションを作成しています。既存のデータを使用してHerokuにデプロイする

データベースに少数のユーザーとマイクロポストを追加します。

この章の最後では、アプリをHerokuにデプロイすることができます。しかし、私がHerokuでアプリを見ると、ユーザーやマイクロポストはもうありません。

どのようにして既存のデータを展開することもできますか?

+0

ローカルデータベースとは何ですか? –

+0

@soundar私はそれがsqlite3だと思っています – doctopus

答えて

0

Herokuは、あなたのアプリケーションとは異なるデータベースをローカルに持っています。したがって、ローカルアプリケーションで作成したすべてのデータは、実行時にはHerokuにプッシュされません。git push heroku master

データベースダンプを作成します(シードダンプが面白いかもしれません)ので、これをHerokuでインポートするか、usersそしてシードファイル内micropostsheroku run rake db:seed

http://railscasts.com/episodes/179-seed-dataを実行するには、あなたはデシベルをシード可能性がどのように簡単な説明

1

使用して、yamlファイルにデータをダンプするYamlDb宝石を与えます。

することにより、データ・ダンプを作成します:Herokuのに

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

プッシュコード:

git push heroku master 

ロードデータHerokuのデータベースへ:

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

これを試しましたが、 'heroku run rake db:data:load'を実行すると' 'db:data:load''タスクを構築する方法がわかりません。 – doctopus

+0

あなたは'Gemfile'? – zaingz

+0

はいgemfileに 'gem 'yaml_db''と入力しました。これは私が得るエラーメッセージです: '/app/vendor/bundle/ruby/2.2.0/gems/rake-11.3.0/exe/rake:27:in' 'それは可能ですか? Ruby 2.3.1を使用していますか? – doctopus

0

postgresを使用している場合は、ローカルデータベースをherokuアプリケーションにプッシュすることができます。

開発データベースの名前を確認するには、config/database.ymlファイルをチェックアウトしてください。この例では、cool_developmentという名前を付けます。あなたが実行した後、次に:

git push heroku master 

その後、データベースを作成するために、移行を実行します。heroku run rake db:migrate 次にHerokuのにデータベースをプッシュする:あなたがそのようにDATABASE_URL環境変数を使用してアクセスされるためHerokuのは、作成heroku pg:push cool_development DATABASE_URL --app app_name_here

データベースを上記の行で、あなたのアプリケーションの名前が 'cool' lolでない限り、ローカルデータベース名を除いて何も変更する必要はありません。

関連する問題