Нет камня под названием "activerecord-sqlite3-ruby-adapter" - PullRequest
4 голосов
/ 14 января 2010

Я пытаюсь установить активные записи поверх базы данных sqlite3 с родным ruby ​​1.8.Это должно сработать достаточно легко, я видел множество примеров, объясняющих как.Я использую некоторый пример кода, который я нашел, он довольно простой и начинается со следующих строк:

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 ..., но он нигде не найден.Я искал с помощью Google, и я не получил ни одного хита по этому имени.

Установлены следующие гемы, связанные с sqlite / activerecords:
(я установил 'activerecord', 'sqlite3-ruby' и 'activerecord-jdbcsqlite3-adapter 'allthoug последний будет использоваться для 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.Как это называется?Очевидно, это не тот адаптер, который предлагается в сообщении об ошибке, поскольку он не найден локально или в хранилище ...

1 Ответ

2 голосов
/ 26 февраля 2011

Просто выстрел в темноте, но вы пытались изменить:

: адаптер => "sqlite3-ruby",

до

: адаптер => "sqlite3",

...