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

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

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

Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。

Ruby

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

Heroku

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

Ruby on Rails

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Q&A

解決済

1回答

798閲覧

heroku run rails db:migrateを成功させたい

yuya-2002

総合スコア18

Cloud9

Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。

Ruby

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

Heroku

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

Ruby on Rails

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

0グッド

0クリップ

投稿2020/07/06 07:22

解決したい事

rails tutorial 11章すべての実装が終わり、
heroku run rails db:migrateを実行した後、下記のエラーが出てきた解決したい。

ec2

1 › Warning: heroku-cli update available from 7.0.9 to 7.40.0. 2Running rails db:migrate on ⬢ thawing-island-33928... up, run.1818 (Free) 3D, [2020-07-06T06:11:17.592162 #4] DEBUG -- : (1.1ms) SELECT pg_try_advisory_lock(7158068201742421950) 4D, [2020-07-06T06:11:17.611676 #4] DEBUG -- : (1.6ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC 5I, [2020-07-06T06:11:17.613520 #4] INFO -- : Migrating to CreateUsers (20200703142835) 6D, [2020-07-06T06:11:17.617145 #4] DEBUG -- : (1.1ms) BEGIN 7== 20200703142835 CreateUsers: migrating ====================================== 8-- create_table(:users) 9D, [2020-07-06T06:11:17.629831 #4] DEBUG -- : (11.8ms) CREATE TABLE "users" ("id" bigserial primary key, "name" character varying, "email" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL) 10D, [2020-07-06T06:11:17.631189 #4] DEBUG -- : (1.1ms) ROLLBACK 11D, [2020-07-06T06:11:17.632709 #4] DEBUG -- : (1.2ms) SELECT pg_advisory_unlock(7158068201742421950) 12rails aborted! 13StandardError: An error has occurred, this and all later migrations canceled: 14 15PG::DuplicateTable: ERROR: relation "users" already exists 16: CREATE TABLE "users" ("id" bigserial primary key, "name" character varying, "email" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL) 17/app/bin/rails:9:in `require' 18/app/bin/rails:9:in `<main>' 19Tasks: TOP => db:migrate 20(See full trace by running task with --trace)

解決のために行ったこと

usersテーブルが重複しているとのことで、
rails db:migrate:resetをしてみたが、同じエラーが出ました。

https://qiita.com/fruity/items/43764da5276bf87fe239
こちらの対処法も行いましたが、治りませんでした。

関連ファイル

models/user.rb

class

1 attr_accessor :remember_token, :activation_token 2 before_save :downcase_email 3 before_create :create_activation_digest 4 5 6 validates :name, presence: true, length: { maximum: 50 } 7 VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+.[a-z]+\z/i 8 validates :email, presence: true, length: { maximum: 255 }, 9 format: { with: VALID_EMAIL_REGEX }, 10 uniqueness: { case_sensitive: false } 11 has_secure_password 12 validates :password, presence: true, 13 length: { minimum: 6 }, allow_nil: true 14 15 def User.digest(string) 16 cost = ActiveModel::SecurePassword.min_cost ? BCrypt::Engine::MIN_COST : 17 BCrypt::Engine.cost 18 BCrypt::Password.create(string, cost: cost) 19 end 20 21 def User.new_token 22 SecureRandom.urlsafe_base64 23 end 24 25 def remember 26 self.remember_token = User.new_token 27 self.update_attribute(:remember_digest, 28 User.digest(remember_token)) 29 end 30 31 def forget 32 self.update_attribute(:remember_digest, nil) 33 end 34 35 # 渡されたトークンがダイジェストと一致したらtrueを返す 36 def authenticated?(attribute, token) 37 digest = self.send("#{attribute}_digest") 38 return false if digest.nil? 39 BCrypt::Password.new(digest).is_password?(token) 40 end 41 42 def activate 43 update_attribute(:activated, true) 44 update_attribute(:activated_at, Time.zone.now) 45 end 46 47 def send_activation_email 48 UserMailer.account_activation(self).deliver_now 49 end 50 51 private 52 53 def downcase_email 54 self.email = self.email.downcase 55 end 56 57 def create_activation_digest 58 self.activation_token = User.new_token 59 self.activation_digest = User.digest(self.activation_token) 60 # @user.activation_digest => ハッシュ値 61 end 62end

controllers/user_controller.rb

class

1 before_action :logged_in_user, only: [:index, :edit, :update, :destroy] 2 before_action :correct_user, only: [:edit, :update] 3 before_action :admin_user, only: :destroy 4 5 def index 6 @users =User.paginate(page: params[:page]) 7 end 8 9 def show 10 @user = User.find(params[:id]) 11 end 12 13 def new 14 @user = User.new 15 end 16 17 def create 18 @user = User.new(user_params) 19 if @user.save 20 @user.send_activation_email 21 flash[:info] = "Please check your email to activate your account." 22 redirect_to root_url 23 else 24 render 'new' 25 end 26 end 27 28 def edit 29 @user = User.find(params[:id]) 30 end 31 32 def update 33 @user = User.find(params[:id]) 34 if @user.update_attributes(user_params) 35 flash[:success] = "Profile updated" 36 redirect_to @user 37 else 38 render 'edit' 39 end 40 end 41 42 def destroy 43 User.find(params[:id]).destroy 44 flash[:success] = "User deleted" 45 redirect_to users_url 46 end 47 48 private 49 50 def user_params 51 params.require(:user).permit(:name, :email, :password, 52 :password_confirmation) 53 end 54 55 # beforeアクション 56 57 # ログイン済みユーザーかどうか確認 58 def logged_in_user 59 unless logged_in? 60 store_location 61 flash[:danger] = "Please log in." 62 redirect_to login_url 63 end 64 end 65 66 # 正しいユーザーかどうか確認 67 def correct_user 68 @user = User.find(params[:id]) 69 redirect_to(root_url) unless current_user?(@user) 70 end 71 72 # 管理者かどうか確認 73 def admin_user 74 redirect_to(root_url) unless current_user.admin? 75 end 76 77end

db/schema.rb

class

1 before_action :logged_in_user, only: [:index, :edit, :update, :destroy] 2 before_action :correct_user, only: [:edit, :update] 3 before_action :admin_user, only: :destroy 4 5 def index 6 @users =User.paginate(page: params[:page]) 7 end 8 9 def show 10 @user = User.find(params[:id]) 11 end 12 13 def new 14 @user = User.new 15 end 16 17 def create 18 @user = User.new(user_params) 19 if @user.save 20 @user.send_activation_email 21 flash[:info] = "Please check your email to activate your account." 22 redirect_to root_url 23 else 24 render 'new' 25 end 26 end 27 28 def edit 29 @user = User.find(params[:id]) 30 end 31 32 def update 33 @user = User.find(params[:id]) 34 if @user.update_attributes(user_params) 35 flash[:success] = "Profile updated" 36 redirect_to @user 37 else 38 render 'edit' 39 end 40 end 41 42 def destroy 43 User.find(params[:id]).destroy 44 flash[:success] = "User deleted" 45 redirect_to users_url 46 end 47 48 private 49 50 def user_params 51 params.require(:user).permit(:name, :email, :password, 52 :password_confirmation) 53 end 54 55 # beforeアクション 56 57 # ログイン済みユーザーかどうか確認 58 def logged_in_user 59 unless logged_in? 60 store_location 61 flash[:danger] = "Please log in." 62 redirect_to login_url 63 end 64 end 65 66 # 正しいユーザーかどうか確認 67 def correct_user 68 @user = User.find(params[:id]) 69 redirect_to(root_url) unless current_user?(@user) 70 end 71 72 # 管理者かどうか確認 73 def admin_user 74 redirect_to(root_url) unless current_user.admin? 75 end 76 77end

使用しているツール

rails5.1.6、Ruby、cloud9

御教示よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

DBすべてをリセットしたい場合は
$ heroku pg:reset DATABASE_URLを行ってください。

当然DB上のデータはすべて消えるので必要ならばバックアップを取ること

投稿2020/07/06 07:53

asm

総合スコア15147

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問