Railsアプリ上でユーザー登録を行おうとすると、以下のようにエラーがおきてしまい登録を完了させることができません。
どなたかご教示頂けると幸いです..!
前提条件・実装したい機能
- colleaguesテーブルにユーザーデータを格納したい
- 「ユーザ登録ページで名前やメールアドレスを入力してもらい、会員登録ボタンを押すと(Uid等が自動で発行されて)アカウントが作成される」という流れを実装したいです
- ユーザー登録を実装するためにdeviseを使用しています
- Herokuでのデプロイを行っているため、development/test/production全ての環境でmysqlではなくPostgreSQLを使用しています
困っていること
-ユーザーを新規登録しようとすると、会員登録ボタンを推したあとにredirectされて下のようなエラーが表示されます
- ローカル環境(production)、Heroku上(production)でも同じエラーがおきます
- Heroku上についてはpostgresqlにアクセスして下記を試みましたがエラーが出てしまいました
$ heroku pg:psql --> Connecting to hogehoge psql (10.4, server 10.3 (Ubuntu 10.3-1.pgdg14.04+1)) SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off) Type "help" for help. hogehoge::DATABASE=> SELECT setval('colleagues_uid_seq',(SELECT MAX(uid) FROM colleagues)); ERROR: function setval(unknown, text) does not exist LINE 1: SELECT setval('colleagues_uid_seq',(SELECT MAX(uid) FROM col... ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts. ^ hogehoge::DATABASE=>
(上記参考:)
なお、Colleagueのコントローラは下記のとおりです(一部省略してあります)。
class Colleague < ApplicationRecord devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable, :omniauthable, :omniauth_providers => [:facebook] validates :name, presence: true, length: { in: 1..15} validates :email, presence: true, uniqueness: true validates :uid, presence: true, uniqueness: true validates_uniqueness_of :uid, uniqueness: {:scope => :provider} before_save { self.email = email.downcase } end
どなたかご指南頂けますと幸いです。
あなたの回答
tips
プレビュー