問題タブ [rails-postgresql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails-3 - Postgresql 8.4 と Rails 3.2.1 を Ubuntu 10.04 VM にインストールするときに、システム以外のユーザーを作成するにはどうすればよいですか?
今日、ローカルの Ubuntu 10.04 VM に Rails 3.2.1 と Postgresql 8.4 をインストールしようとしました。私は基本的にhttp://www.mcbsys.com/techblog/2011/10/set-up-postgresql-for-rails-3-1/の指示に従いました。別の方法で行う必要があったのは、pg_hba.conf の行を「local postgres myapp trust」に変更することだけでした。これは、デフォルト ユーザーの postgres にパスワードがなく、Linux に一致する「login_name」という名前の postgresql ユーザーを作成する必要があったためです。システム ログイン ユーザー名 (この例のために "login_name" と呼びましょう)、そうしないと rake db:create を使用してデータベースを作成できませんでした。
私のdatabase.ymlファイルは次のようになりました:
私の質問は、これを機能させるためにシステムのログイン名と一致するユーザー名を作成する必要があったのはなぜですか?これを回避する方法はありますか? 私はこれをグーグルで検索しましたが、満足のいく答えを見つけることができませんでした。
ruby-on-rails - PostgreSQLはレコードを検索し、左外部結合で並べ替えます
次のSQLクエリで、取得したレコードを左外部結合のフィールドで並べ替えようとしています。
ただし、取得されたレコードは、期待どおりに正しくソートされていません(つまり、events.created_atによって)
パフォーマンスを効率的に保ちながらそれを成功させる方法の手がかりはありますか?
ruby-on-rails - Rails Scope: 値を含む明確なタイトルを選択する
スコープ内の SQL クエリに問題があります。フォームで使用するために、一意の Project.titles とそれに付随する ID のコレクションを返す必要があります。
を使用して個別のタイトルを取得できます
しかし、結果のオプションで値が得られません
= project_form.input :id, collection: current_user.projects.unique_title
結果:
したがって、id をスコープに追加します。
結果は私に値を与えますが、今私の DISTINCT 選択は機能しません:
ruby-on-rails - HerokuのRails 3.1でPostgresのアクセントを区別しないLIKE検索
Rails の検索クエリで where/like 条件を変更するにはどうすればよいですか?
find(:all, :conditions => ["lower(name) LIKE ?", "%#{search.downcase}%"])
アクセントに関係なく結果が一致するようにするには?(例: メトロ = メトロ)。utf8を使っているのでto_asciiが使えません。制作は Heroku で行っています。
ruby-on-rails - HerokuにプッシュするときのOmniAuthActiveRecordエラー
ローカルで実行しているときにOmniauthを介してFacebookの応答から情報を読み取って保存できるという奇妙な状況が発生していますが、正確なコードをHerokuにプッシュすると、以下のエラーが(ログから)表示されます。列first_name。
私はユーザーの代わりに「アクアリスト」という用語を使用しています...これは標準的な使用法ではないことは知っていますが、私の使用例ではもう少し理にかなっているようです。時間を遡って変更する場合があります...
これがomniauthからの私のFacebookコールバックです:
ご覧のとおり、Facebookプロファイルをロックダウンしているので、すべての追加情報(たとえば、関係のステータスなど)を取得することを期待しないでください。
私は、新しいユーザー(私の用語では「アクアリスト」)の基本的なプロファイルを作成しようとしています。これにより、Facebookから共有できる追加情報の一部を取得できます。
これをローカルで実行すると、正常に機能します。たとえば、first_name、last_name、gender、localeを収集して、データベースに保存できます。
これが私がプロファイルを書くために使用しているコードです
次に、このコードを使用して、このプロファイル情報を(テーブルに)表示しています。
このコードをプッシュしたときの同じ情報により、上記のようにアクティブレコードエラーが発生します。
ただし、[raw_info] [extra]セクションからいずれかの列を削除すると、コードはHerokuで機能します(たとえば、フルネーム、UID、プロバイダーなどはすべてデータベースに保存されます)。
私が完全に混乱しているのは、このコードがローカルで機能していることです。そのため、「raw_info」セクションからデータを正しく要求していることを収集します。
Herokuで移行を実行したことをすでに確認しており、他のQ&Aで示唆されているように、データベース列がアプリで確実に取得されるように「herokurestart」も使用しています。
これは私のgemfileのOmniAuthエントリです:
Rails3.1.3とpostgres9.1.2をローカルで実行しています。PG8.xを実行していると思われる無料のHerokuデータベースを使用しています。
特定の列を作成する移行ファイルからの抜粋を次に示します。
そして、これは私がherokuコンソールを実行したときに戻ってくるものです:
私のコードがHerokuにヒットしたときに何が起こっているのかについての見解はありますか?それはPostgresバージョンの問題ですか?
heroku - Heroku db:push が segfault で失敗する
Rails 3.1、Ruby 1.9.2 用の新しい Heroku アプリをインストールしています。問題は、'heroku db:push' を実行してデータベースにデータを入力することです (これは適切にスキーマ化されています。唯一の問題は、データを取得することです)。次のレポートで失敗します。
/Users/upstill/.rvm/gems/ruby-1.9.2-p290/gems/sqlite3-1.3.5/lib/sqlite3/sqlite3_native.bundle: [バグ] セグメンテーション違反
ruby 1.8.7 (2010-01-10 パッチレベル 249) [universal-darwin11.0]
アボートトラップ: 6
これには 2 つの理由があります。1 つは、ローカルと heroku の両方で postgresql データベースを使用している (config/database.yml で正式に宣言されている) ことです。2 つ目は、Ruby 1.8.7 はどこに関係があるのでしょうか。rvm は 1.9.2 用にセットアップされています。それは私のパスにありますが、heroku はそれを実行しようとしていますか? 何を与える?
ありがとう、スティーブ・アップスティル
ruby-on-rails - Rails:PGgemを使用したSqlite
Macにpostgresをインストールし、Railsで初めて試しました。gem "pg"を含め、sqlite3 gemを削除しました(結局、前者を使用する場合、なぜ後者が必要になるのでしょうか)。ただし、サーバーを起動しようとすると、このエラーメッセージが表示されます
そこで、sqlite3 gemを再度含めたところ、サーバーは正常に動作しましたが、テストアプリがsqlite3とpgのどちらを使用しているかは実際にはわかりません。
a)pg gemの使用を計画している場合、sqlite3 gemをインストールする必要がありますか?b)2つのうち1つだけをインストールすることになっている場合、テストアプリが現在使用しているものを確認する方法はありますか(両方ともGemfileにあるため)
Gemfile
postgresql - Postgres:ユーザー名の作成
MacでPostgresonRailsアプリを使い始めようとしています。「shawsome」という新しいRailsアプリを作成し、database.ymlファイルでこれを作成しました
しかし、「shawsome」の役割がないため、サーバーは実行されません。Railsは私のアプリの名前からユーザー名を推測したようです。
postgresのドキュメントを見て、CREATEUSERコマンドについて説明しています
しかし、CREATE USERを実行しようとすると、CREATEコメントが見つかりませんと表示されました。
誰かが私が間違っていることを教えてもらえますか?
また、(Herokuで)本番環境に入ると、ユーザー名も必要になると思います。そのユーザー名は同じままですか?つまり、自分のマシンで構成されている場合、Herokuで何か特別なことをする必要がありますか?
ruby-on-rails - postgresql をまとめて挿入または更新する
ルビーハッシュに16000個のアイテムがあります。(XML としてダウンロードされ、ハッシュに変換されます) これらをデータベースにプッシュする必要があります。週に一度、いくつかは変わりますが、どれがどれかわかりません。
私が提案したのは、アクティブなレコードが(そのサイトで)単純な挿入で70倍遅くなったため、SQLに直接行くことです..更新/挿入について考えることさえありません
どのアプローチが最適か疑問に思っています.誰かが繰り返し挿入/更新しなければならなかった巨大な (または非常に小さい) データのチャンクを受け取りましたか?
提案をいただけませんか。
ruby-on-rails-3 - rspec が「PG::エラー: エラー: リレーション "table_name" が存在しません」を返す
環境は、rvm、rspec 2.8.0、rails 3.0.6、および pg 0.13.2 の REE(2011.12) です。CentOS 5.6 で PostgreSQL 8.3.17 を使用しています。db:migrate は正しく機能します。しかし、rspec には次のエラーがあります。
プロジェクトをrspec 1.xシリーズのrails 2.3.5からrspec2のrails 3.0に更新しています。すべての rspec テストをコピーし、古い spec_helper.rb と新しいもの (生成されたものrails g rspec:install
) をマージしました。
このエラーについて同様の質問を読んだので、rake db:test:prepare
または試してみましrake db:test:load
たが、解決しません。何か考えはありますか?テスト データベースでテストが実行されていないようです...どうすればよいですか? :(