質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

1257閲覧

db:seedを実行するとherokuの無料枠をほぼオーバーになってしまう・・・。

helo

総合スコア36

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2020/06/06 03:59

前提・実現したいこと

herokuでテストAppをアップロードしているのですが、ほとんどアクセスしていないのに無料枠を超えたとメールが飛んできます。
なので、DBリセットして、再度migrate ⇒ seedをすると、無料枠限度までもうすぐです、という内容のメールが飛んできます。
こんなに無料枠は直ぐに無くなるのでしょうか?
詳しい方居られましたら、ご教示頂ければ有難いです。よろしくお願いします。

発生している問題・エラーメッセージ

herokuのダッシュボードには、以下の表示がseedしたら直ぐに出ます。 Connection 29,239 of 10,000 Rows Above limits, access disruption imminent

該当のソースコード

ソースコード

もしかしたら、seedデータが大量にダブって入ってしまっている様に思うのですが・・・。

補足情報(FW/ツールのバージョンなど)

Windows10

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2020/06/06 04:38

どのようなコードでseedしていますか?
dodox86

2020/06/06 07:53

クラウドサービスを利用する上で技術的に興味深い理由がありそうなのですが、質問の題名と質問したいこと「herokuの無料枠はこんなにすぐに無くなるのか?」部分を読むととても推奨される質問と思えないところがもったい無いと思えます。(笑)
helo

2020/06/06 10:57

maisumakun様 コメントありがとうございます。 通常の、heroku run rails db:migrate の後 heroku run rails db:seed をやりました。ターミナルが5分近く 動いていましたので、何か重複してデータベースに入ってしまっている様に 感じています。そうではないでしょか?
helo

2020/06/06 10:59

dodox86様 こめんとありがとうございます。 seedすると一気に限度超過するような状況を何とかしたいのですが・・・。
dodox86

2020/06/06 11:02

あ、いえいえ、私自身は原因を指摘できる回答を持っているわけでないのです。質問の件名から受ける印象の割りに(<失礼)、興味深い原因がありそうだと思ったのでコメントしたまででした。ごめんなさい。
dodox86

2020/06/06 11:05

異様にCPU時間などを消費する操作を行ったのかな、と思ったのですが、herokuの料金体系は知らないので回答に至らず、です。
helo

2020/06/06 11:23

dodox86様 いえいえ、ありがとうございます。 またよろしく願いします。
maisumakun

2020/06/06 12:42

db:seedで流しているコードの中身はどのようなものでしょうか。
helo

2020/06/06 13:45

maisumakun様 あ、すいません。 seed.rbのコードは以下のrailsチュートリアルのものです。 User.create!(name: "Example User", email: "example@railstutorial.org", password: "foobar", password_confirmation: "foobar", admin: true, activated: true, activated_at: Time.zone.now) 99.times do |n| name = Faker::Name.name email = "example-#{n+1}@railstutorial.org" password = "password" User.create!(name: name, email: email, password: password, password_confirmation: password, activated: true, activated_at: Time.zone.now) users = User.order(:created_at).take(6) 50.times do content = Faker::Lorem.sentence(5) users.each { |user| user.microposts.create!(content: content) } end end
guest

回答1

0

ベストアンサー

もしかしたら、seedデータが大量にダブって入ってしまっている様に思うのですが・・・。

そのとおりです。db:seedはシードファイルに書いてあるコードをただ実行するだけですので、チェックを入れなければdb:seedの実行のたびに行が増えます。

そして、Userが99人に対してmicropostを50個作っていますので、これだけで4950行、無料枠の10000行の約半分を消費しています。

投稿2020/06/06 14:11

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

helo

2020/06/07 01:23

maisumakun様 ご回答ありがとうございます。 やはりそうなってしまってたんですか・・・。 まだまだ初心者なので、「チェックを入れる」という方法が解らないのですが、どうすれば良いのでしょうか?
maisumakun

2020/06/07 01:30

そもそも論ですが、heroku環境でこのようなダミーデータをseedする必要は、本当にあるのでしょうか?
helo

2020/06/07 02:04

うう・・・ん・・、私も少し疑問というか、あくまでもテストAppなので99人のフェイクな人のデータは要らないかとは思います。そうすると、一気にseedデータ数を、99→20とかに変更して、ミクロポスト部分も50→20とかにすれば、これにfeedの6を掛け合わせても2400程度なので、問題はクリアになる感じでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問