問題タブ [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 - レール上のPostgresの複合型3
私はPostgresについて新しいことを発見しました:複合型。私はこのアプローチが本当に好きで、それは私にとって非常に役に立ちます。
問題は、railsのActiveRecordがこれをネイティブにサポートしていないことです。
RailsでPostgresの複合型を使用したことがありますか?良い経験でしたか、それともこのネストされたデータの新しいモデルを作成する一般的なアプローチを好みますか?
http://www.postgresql.org/docs/8.4/static/rowtypes.html
Tks!:-)
ruby-on-rails - MySQLからPostgresに変換し、「Product」列が存在しません」というエラーが発生する
Railsでacts_as_taggable_onを使用しており、まだタグ付けされていないすべての製品のリストを取得しようとしています。MySQLでは、次のクエリが機能しました。
ただし、Postgresでは、「Product」列が存在しないというエラーが表示されます。
生成されたSQLは次のようになります。
これを機能させる方法について何か提案はありますか?MySQLで引き続き機能するように、アクティブレコードに適した方法を使用したいと思います。しかし、それは私が喜んで犠牲にするものです。
前もって感謝します..
ruby-on-rails - PostgreSQL + Rails 接続のトラブルシューティング
私はこのサイトを過去 3 年ほど使用してきました...これが私の最初の投稿です :D
しかし、役に立たない冗談はもう十分です。
アプローチ/問題、エラー、そしてエラーのトレース/ログから始めます。
次に、この問題を解決するためにこれまでに行ったこと、気付いたいくつかの奇妙なこと、およびその原因と考えられることについて説明します。
アプローチ/問題:
私は最近、モバイル アプリのバックエンド開発チームに加わりました。新機能を実装する前に、ローカル マシンで製品を起動して実行する必要があります...
(アプリディレクトリ内)rails s
=> WEBrick の起動
=> http://0.0.0.0:3000で開発を開始する Rails 3.1.0.rc4 アプリケーション
=> -d で呼び出してデタッチ => Ctrl-C でサーバーをシャットダウン
[2011-09-14 19:11:59] INFO WEBrick 1.3.1
[2011-09-14 19:11:59] INFO ルビー 1.8.7 (2009-06-12) [ユニバーサル darwin10.0]
[2011-09-14 19:11:59] INFO WEBrick::HTTPServer#start: pid=35031 ポート=3000
今のところ問題ないように見えますが、ブラウザでページにアクセスしようとすると...
エラー:
(ブラウザー ページのタイトル): アクション コントローラー:例外がキャッチされました
PGエラー
fe_sendauth: パスワードが指定されていません
トレース/ログ
(最初のセクションの端末の最後の行からの続き)
キャッシュ エラー: サーバーが利用できません
/Library/Ruby/Gems/1.8/gems/dalli-1.0.5/lib/dalli/ring.rb:45:in `server_for_key'
/Library/Ruby/Gems/1.8/gems/dalli-1.0.5/lib/dalli/client.rb:239:in `perform'
/Library/Ruby/Gems/1.8/gems/dalli-1.0.5/lib/dalli/client.rb:60:in `get'
/Library/Ruby/Gems/1.8/gems/rack-cache-1.0.3/lib/rack/cache/metastore.rb:320:in `read'
/Library/Ruby/Gems/1.8/gems/rack-cache-1.0.3/lib/rack/cache/metastore.rb:30:in `lookup'
/Library/Ruby/Gems/1.8/gems/rack-cache-1.0.3/lib/rack/cache/context.rb:165:in `lookup'
/Library/Ruby/Gems/1.8/gems/rack-cache-1.0.3/lib/rack/cache/context.rb:65:in `call!'
/Library/Ruby/Gems/1.8/gems/rack-cache-1.0.3/lib/rack/cache/context.rb:50:in `call'
/Library/Ruby/Gems/1.8/gems/rack-1.3.2/lib/rack/deflater.rb:13:in `call'
/Library/Ruby/Gems/1.8/gems/railties-3.1.0.rc4/lib/rails/rack/content_length.rb:16:in `call'
/Library/Ruby/Gems/1.8/gems/railties-3.1.0.rc4/lib/rails/rack/log_tailer.rb:14:in `call'
/Library/Ruby/Gems/1.8/gems/rack-1.3.2/lib/rack/handler/webrick.rb:59:「サービス」内
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/webrick/server.rb:162:in `start'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/webrick/server.rb:95:in `start'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/webrick/server.rb:92:in `each'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/webrick/server.rb:92:in `start'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/webrick/server.rb:23:in `start'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/webrick/server.rb:82:in `start'
/Library/Ruby/Gems/1.8/gems/rack-1.3.2/lib/rack/handler/webrick.rb:13:in `実行'
/Library/Ruby/Gems/1.8/gems/rack-1.3.2/lib/rack/server.rb:265:in `start'
/Library/Ruby/Gems/1.8/gems/railties-3.1.0.rc4/lib/rails/commands/server.rb:70:in `start'
/ライブラリ/Ruby/Gems/1.8/gems/railties-3.1.0.rc4/lib/rails/commands.rb:54
/Library/Ruby/Gems/1.8/gems/railties-3.1.0.rc4/lib/rails/commands.rb:49:in `tap'
/ライブラリ/Ruby/Gems/1.8/gems/railties-3.1.0.rc4/lib/rails/commands.rb:49
script/rails:6:in `require'
スクリプト/レール:6
キャッシュ: [GET /] パス
ダリ::Server#connect localhost:11211
localhost:11211 に失敗しました (カウント: 0)
ブラウザから完全なトレースを出力することもできますが、この投稿が冗長になりすぎないようにします。
これがジレンマです!
私がやったこと:
簡単な解決策(以下にリストされています)は何の違いもありません。
正しくインストールされた pg gem (パスを手動で含めた後)
trust(ed) 接続を許可するように pg_hba.conf ファイルを修正しました。
pgadmin3 ツールとターミナルを介して postgres db に接続できます。
は?:
サーバーを別のポートで実行しても違いはありませんが、postgresql db 用に予約されているポートの 1 つに接続しようとすると、接続がビジーになります (必要に応じて、そのエラー ログも投稿できます)。
ユーザー/爆発やサインイン/サインアウトなど、アプリから存在しないページにアクセスしようとすると、エラーは同じです。ただし、端末ログには毎回「 [GET /'var'] pass 」が表示されます。
考え:
私の推測では、" [GET /'var'] pass " の最後にパスワードがあるため、問題はまだパスワードを期待している接続にあると考えられます。
また
pg db が別のサーバーで実行されており、アプリが自分のローカル マシンで実行しようとしているのを好まないこと。
あなたの推測が私のものよりも優れていることを願っています。
この投稿をなんとか達成できた場合は、称賛します。大変感謝しています。どうにかして解決策を思いつくことができたら、私は永遠に恵みを与えます.
よろしく、
〜ライアン・ジョンソン(RyeGuyHead)
ruby-on-rails - Heroku-PostgreSQLでのRails3から3.1への移行の問題:リレーション「users」は存在しません
Rails 3から3.1に移行し、Herokuで動作させる方法についてのドキュメントをフォローしています。ここに記載されている手動アップグレード手法を使用しました:http ://webtempest.com/upgrade-rails-3-to-3-1/
少しずつ進歩しましたが、Herokuで動作させるのはほとんど苦痛でした。私のアプリケーションは、現時点ではrails3.1でローカルに正常に動作します。開発モードでは、mysqlを使用していることをお知らせする必要があります(単に、sequel proを使用するオプションがあり、postgresをローカルで使用する方法をまだ完全に理解していないためです)。つまり、Rails 3.0を使用しているときに、アプリをherokuにプッシュし、postgresおよびローカルでmysqlで使用することに問題はありませんでした。それは常にうまくいきました。ただし、heroku cedarスタックを使用して3.1に移行したので、herokuのドキュメントをフォローしているときに次の問題が発生します:http://devcenter.heroku.com/articles/rails31_heroku_cedar
以下は、コードをherokuにプッシュした後、アプリケーションのデータベースを移行またはリセットしようとしたとき、およびアプリケーションを再起動したときに発生し続けるエラーです。
この問題を克服する方法について何かアイデアはありますか?ここで言及されている「ユーザー」用のdeviseプラグインを使用しています。この問題に関する私の調査により、以前は、移行によってユーザーテーブルが適切に作成されなかった可能性があると考えていましたが、最初の移行ファイルではユーザーテーブルが作成されます。
herokuでアプリを再起動しようとすると、これがログに表示されます
ヘルプ、提案、ヒントは大歓迎です。
ruby-on-rails - 移行にシーケンスを追加してモデルで使用するにはどうすればよいですか?
Customer
通常の主キーとカスタムの「顧客番号」を格納するための別の列を持つ「」モデルが必要です。さらに、データベースでデフォルトの顧客番号を処理する必要があります。シーケンスを定義することがそれを行うための最良の方法だと思います。私はPostgreSQLを使用しています。私の移行を見てください:
シーケンスを追加するためのより良い「レールのような」アプローチを知っているなら、私に知らせてください。
今、私が次のようなことをすると
フィールドcustomer_no
には、シーケンスの次の値(1002である必要があります)が事前に入力されていません。
シーケンスを統合する良い方法を知っていますか?または、良いプラグインはありますか?すべての答えに乾杯!
ruby-on-rails - Lion に同梱されている PostgreSQL のバージョンは何ですか?
「Mac OSX Lion includes Postgresql」( OSX 10.7 Lion にアップグレードした後の Postgresql の修復) を読みました。
Lion を実行している真新しい MacBook Pro を購入すると仮定すると、デフォルトでどのバージョンの PostgreSQL がインストールされますか? Heroku に移行するアプリの Rails 開発作業を行っている場合、homebrew またはバイナリ インストーラーを使用して PostgreSQL をインストールする必要がないということですか?
ruby-on-rails-3 - Rails 3のレコードを特定の時間ロックするにはどうすればよいですか?
私がやりたいのは、基本的に、ユーザーがレコードのロックを取得し、ウィキペディアのようにレコードに変更を加えることができるように、特定の時間ロックを取得することです。つまり、ウィキペディアの記事では、他のユーザーが編集する前に、ユーザーが編集するのに1時間かかるとします。
Rails 3でそれをどのように達成できますか?読んだところ、悲観的なロックがロックに使用する必要があることがわかりました。それを考えると...1時間後にロックを解除するためにどのようなメカニズムを使用しますか?
私のスタックはRails3、Heroku、PostgreSQLです。
回答ありがとうございます。できればコードを見るのが大好きです。
ruby-on-rails - Rails-PostgreSQL/Herokuに保存されていないブールフィールド
奇妙な問題が発生しました:
ブールフィールドがHerokuに保存されない(ローカルで正常に動作します)
詳細:
移行
Herokuについて:
これをローカルで実行すると(Postgresql 8.4)、期待どおりに機能します。
何か案は ?
編集:
DBで直接いくつかのテストを実行しました。
したがって、問題はRailsにあり、Postgresqlにはありません...
arrays - PostgreSQLの配列のNULL値を置き換えます
SELECT ARRAY [1,2,3]-ARRAY [5、NULL、6]
postgresql8.4の配列操作にcontrib_int.sqlパッケージを使用しています。上記のクエリでは、NULL
右側に配列があります。このNULL値のため、エラーがスローされます。
誰かが配列からnull値を削除するのを手伝ってもらえますか?
ruby-on-rails - Ruby on Rails+PostgreSQL: カスタム シーケンスの使用
属性Transaction
を持つというモデルがあるとします。:transaction_code
その属性に、とは異なる可能性のあるシーケンス番号が自動的に入力されるようにしますid
(たとえば、Transaction withid=1
が持つ可能性がありますtransaction_code=1000
)。
postgres でシーケンスを作成してから、そのシーケンスのtransaction_code
列のデフォルト値を作成しようとしましたnextval
。問題は、on RoR に値を割り当てない場合、@transaction.transaction_code
on RoR を発行する@transaction.save
と、次の SQL を実行しようとすることです。
INSERT INTO transactions (transaction_code) VALUES (NULL);
これが行うことは、シーケンスの nextval を計算して対応する列に挿入する代わりに、transaction_code を NULL にして、Transactions テーブルに新しい行を作成することです。したがって、私が知ったように、postgres に NULL を指定すると、デフォルト値に関係なく、その列に NULL を挿入する必要があると見なされます (動作が異なる ORACLE から来ています)。
データベースまたはRoRで行われる場合、私はこれに関するあらゆる解決策を受け入れます。
- ActiveRecord から属性を除外する方法があるか
save
- または、トリガーを使用して挿入する前に列の値を変更する方法があります
- または、RoR 内でこれらのシーケンス番号を生成する方法があります。
- またはそれが機能する限り、他の方法:-)
前もって感謝します。