Ruby初心者です。
現在、インスタグラムのようなアプリ開発を行っております。
些細な事でも、構いませんのでお答えして頂けたら幸いです。
**【エラー内容】
OmniAuthを利用し、Facebookログイン機能を実装しようとしており、
Userテーブルにuid,providerカラムを追加を考えています。
class AddOmniauthColumnsToUsers < ActiveRecord::Migration[5.2] def change add_column :users, :provider, :string, null: false, default: "" add_column :users, :uid, :string, null: false, default: "" #add_column :users, :name, :string add_index :users,[:uid, :provider],unique: true end end
このマイグレーションファイルをrails db:migrateした際に、以下のエラーが起こりました。
UNIQUE constraint failed: users.uid, users.provider
uidとproviderがユニークではなのかな?と思い、
db/schema.rb
を確認したのですが、uidやproviderカラムは存在しませんでした。
関係があるのかわかりませんが
最初は、既にusersテーブルにnameがあるのにも関わらず、nameカラムも追加してmigrateしてしまいました(nameが存在するというエラー)
そのため、nameカラムの追加部分をコメントアウトにして再度、migrateしたという背景があります。
class AddOmniauthColumnsToUsers < ActiveRecord::Migration[5.2] def change add_column :users, :provider, :string, null: false, default: "" add_column :users, :uid, :string, null: false, default: "" add_column :users, :name, :string add_index :users,[:uid, :provider],unique: true end end
こちらの方の実装を参考にしました。
https://qiita.com/wtb114/items/a617474f1d31fa9e7c53
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。