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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Heroku

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

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Ruby on Rails

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

解決済

heroku run rails db:seed_fu が反映されません

Kakichi_01
Kankitsu_01

総合スコア38

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Heroku

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

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Ruby on Rails

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

1回答

0評価

0クリップ

163閲覧

投稿2022/06/19 08:23

seed_fuを利用してCSVファイルを一覧表示しているのですが、ローカルではしっかり反映されています。
ただ、herokuで同様に以下のコマンドを打ち込んで、反映されません。
どのようにすれば、herokuでも、ローカルのように一覧表示されますでしょうか。

◆実施したherokuコマンド
・git push heroku main //デプロイはできています

・heroku run rails db:migrate // Running rails db:migrate on...と表示され、以下のように表示されます。
イメージ説明

・heroku run rails db:seed_fu //Running rails db:seed_fu on...xxx up, run.7916 (Free) で終わります(数字はいつも違います)

◆やってみたこと(heroku)
・heroku run rails db:seed // seed.rbの方は何も記載していないのでもちろん反応しません
・heroku run bundle exec rails db:seed_fu RAILS_ENV=production 

・heroku run rails db:migrate:reset DISABLE_DATABASE_ENVIRONMENT_CHECK=1  //一度リセットしようと思い、”heroku run rails db:migrate:reset”と打ち込んだら、DISABLE~以降をつけてなさいとエラー(以下)が出たのでこれでリセットしました。何か問題あったでしょうか?

rails aborted!
ActiveRecord::ProtectedEnvironmentError: You are attempting to run a destructive action against your 'production' database.
If you are sure you want to continue, run the same command with the environment variable:
DISABLE_DATABASE_ENVIRONMENT_CHECK=1
/app/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.4.8/lib/active_record/tasks/database_tasks.rb:63:in check_protected_environments!' /app/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.4.8/lib/active_record/railties/databases.rake:15:in block (2 levels) in <main>'
/app/vendor/bundle/ruby/2.6.0/gems/railties-6.0.4.8/lib/rails/commands/rake/rake_command.rb:23:in block in perform' /app/vendor/bundle/ruby/2.6.0/gems/railties-6.0.4.8/lib/rails/commands/rake/rake_command.rb:20:in perform'
/app/vendor/bundle/ruby/2.6.0/gems/railties-6.0.4.8/lib/rails/command.rb:48:in invoke' /app/vendor/bundle/ruby/2.6.0/gems/railties-6.0.4.8/lib/rails/commands.rb:18:in <main>'
/app/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in require' /app/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in require'
/app/bin/rails:9:in `<main>'
Tasks: TOP => db:migrate:reset => db:drop => db:check_protected_environments
(See full trace by running task with --trace)

・上記下段に記載あるように、
$ heroku run rails db:drop DISABLE_DATABASE_ENVIRONMENT_CHECK=1
$ heroku run rails db:check_protected_environments
を実行し、その後、
$ heroku run rails db:create
$ heroku run rails db:migrate
$ heroku run rails db:seed_fu
を実行しましたが、やはり反映されませんでした。

どなたか気になるところだけでもあればご教示いただけますと幸いです!

◆やってみたこと(seed_fu)

ruby

csv = CSV.read('db/items.csv', encoding: 'UTF-16') csv.each do |row| Item.seed(:item_name, :description, :image_url) do |s| s.item_name = row[1] s.description = row[2] s.image_url = row[3] s.star = row[4] end end

↓herokuはid連番の必要がある?という記事も見つけたので、item_idカラムを作成、番号を振ってみましたが、変わりませんでした。ここが原因なのかどうかもわからず。。m(_ _)m
https://qiita.com/yunyun_engineer/items/f719c9f7e885d4cab1e1

ruby

require 'csv' csv = CSV.read('db/items.csv', encoding: 'UTF-16') csv.each do |row| item_id = row[0] item_name = row[1] description = row[2] image_url = row[3] star = row[4] Item.seed(:item_id) do |s| s.item_id = item_id s.item_name = item_name s.description = description s.image_url = image_url s.star = star end end

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Heroku

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

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Ruby on Rails

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