4

ネイティブのruby1.8を使用してsqlite3データベースの上にアクティブレコードを設定しようとしています。これは簡単に機能するはずです。その方法を説明する例をたくさん見てきました。私が見つけたいくつかのサンプルコードを使用しています。これはかなり基本的なもので、次の行から始まります。

require 'rubygems'
require 'active_record'
#require 'sqlite3-ruby'

...

ActiveRecord::Base.establish_connection(
    :adapter => "sqlite3-ruby",
    #:dbfile  => ":memory:"
    :database  => ":memory:"
    #:database  => "/home/fgysin/bender/gen2/metaDB/testing/sql3.db"
)

ActiveRecord::Schema.define do  
  create_table :albums do |table|
    table.column :title, :string
    table.column :performer, :string
  end

  create_table :tracks do |table|
    table.column :album_id, :integer
    table.column :track_number, :integer
    table.column :title, :string
  end
end


しかし、この例を実行すると(いくつかのテーブルが作成され、いくつかの単純な統計が出力されます)、次のエラーが発生します。

/var/lib/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/connection_specification.rb:
76:in `establish_connection':
Please install the sqlite3-ruby adapter:
`gem install activerecord-sqlite3-ruby-adapter`

(no such file to load -- active_record/connection_adapters/sqlite3-ruby_adapter) (RuntimeError)
from 2nd.generation/ActiveRecordExample.rb:8

そのactiverecord-sqlite...gemをインストールしようとしましたが、どこにも見つかりません。私はグーグルで検索しましたが、その宝石の名前にもヒットしませんでした。

sqlite / activerecordsに関連する次のgemがインストールされます:(
「activerecord」、「sqlite3-ruby」、および「activerecord-jdbcsqlite3-adapter」をインストールしましたが、後者はJRubyに使用されます...)

activerecord (2.3.5, 2.3.4, 2.2.2, 2.1.0)
activerecord-jdbc-adapter (0.9.2)
activerecord-jdbcsqlite3-adapter (0.9.2)
sqlite3-ruby (1.2.5)
dbd-sqlite3 (1.2.5)
jdbc-sqlite3 (3.6.3.054)

誰かが私の問題の解決策を提案できますか?sqlite3/activerecordsに必要なアダプターを見つけてインストールする方法がわかりません。それはどのように呼ばれますか?ローカルまたはリポジトリに見つからないため、エラーメッセージで提案されているのは明らかにアダプタではありません...

4

1 に答える 1

2

暗闇の中でのショットですが、変更してみましたか?

:adapter => "sqlite3-ruby"、

:adapter => "sqlite3"、

于 2011-02-25T22:41:28.683 に答える