問題タブ [jdbc-postgres]

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.

0 投票する
0 に答える
53 参照

ruby - JRuby: C で書かれた ActiveRecord postgresql アダプタを `pg` なしで使用するには?

Postgres サーバーが実行されている Mac Catalina 10.15.7 上の JRuby 9.3.3.0 で ActiveRecord を Postgres で使用しようとしています。@hmdne のアドバイスに従って、github.com/jruby/activerecord-jdbc-adapter の指示に従いました。エラーが表示されます:

NameError: 初期化されていない定数 ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::PG

これは私のコードです:

スタック トレースにはエントリが含まれています

/Users/test/.rvm/gems/jruby-9.3.3.0/gems/activerecord-6.1.4.6/lib/active_record/connection_adapters/postgresql_adapter.rb:937

ライン937は

class MoneyDecoder < PG::SimpleDecoder # :nodoc:

つまり、ActiveRecord は PG でクラスをサブクラス化していますが、PG は JRuby でビルドされません。「gem install activerecord-postgresql-adapter」を実行しようとしましたが、その gem も「pg」gem に依存しているため、インストールは失敗します。

"require 'activerecord-jdbcpostgresql-adapter' if defined? JRUBY_VERSION" の代わりに、または require 'activerecord-jdbc-adapter' に加えて、行を試してみましたが、それでも同じ 'uninitialized constant ActiveRecord::ConnectionAdapters::PostgreSQLAdapter: :PG'、および本質的に同じスタック トレース。

私はすべての宝石の最新バージョンを使用しています。ありがとう!!!