2017-05-18 21 views
0

新しいdbを作成した後に移行を実行中にエラーが発生しました。移行エラーPG :: UndefinedTable:ERROR:relation "users"が存在しません

class User < ApplicationRecord 
    # Include default devise modules. Others available are: 
    # :confirmable, :lockable, :timeoutable and :omniauthable 
    devise :database_authenticatable, :registerable, 
     :recoverable, :rememberable, :trackable, :validatable 
    validates_presence_of :first_name, :last_name, :phone 
    has_many :projects 
    has_many :items 

    def full_name 
    "#{first_name} #{last_name}" 
    end 

    scope :find_by_fullname, -> (fullname) { 
    self.all 
     .select{ |u| u if u.full_name.parameterize == fullname} 
     .first } 

end 

エラーは、スコープfind_by_fullnameによって取得され エラーが

PG::UndefinedTable: ERROR: relation "users" does not exist 
LINE 8:    WHERE a.attrelid = '"users"'::regclass 

で、誰もがこの問題を解決する方法を提案してください。

答えて

0

PG::UndefinedTable: ERROR: relation "users" does not exist

このエラーは、データベースに"users"というテーブルが存在しないことを示しています。あなたが移行を実行するのを忘れ意味

、私はあなたのデータベースを存在しない中、なぜusersテーブルの移行を実行していないと思い移行

rake db:migrate 

# OR 

bundle exec rake db:migrate 
+0

を実行して、移行を実行するようにしてください、私は新鮮なDBを作成した後、新鮮な移行を実行しています、慎重に質問をお読みください。私は現在のエラーについて知っていますが、最初に起こったのは、rake db:migrateが最初にモーダルをロードしていると思います。どこに問題があるのか​​分かりません。 – iamsonivivek

+0

その場合は、モデルでクエリを実行している移行があるかどうかを確認してください –

+0

可能であれば、タイムスタンプを変更するか、ユーザーテーブルの移行を移動することで、その移行を減らすことができます –

-1

を実行するには、次のコマンドを実行します。

は、このコマンドに bundle exec rake db:migrate

+0

これは既に同じ解決策ですDeepakの答えで提供されています。 – Gerry

+0

慎重に質問をお読みください、私は新鮮なデータベースを作成した後、新しい移行を実行しています。私は現在のエラーについて知っていますが、最初に起こったのは、rake db:migrateが最初にモーダルをロードしていると思います。どこに問題があるのか​​分かりません。 – iamsonivivek

関連する問題