2010-01-14 2 views
4

J'essaie de configurer des enregistrements actifs au-dessus d'une base de données sqlite3 avec ruby ​​1.8 native. Cela devrait fonctionner assez facilement, j'ai vu beaucoup d'exemples qui expliquent comment. J'utilise un code d'exemple, je l'ai trouvé, son assez basique et commence par les lignes suivantes:Pas de gem appelé "activerecord-sqlite3-ruby-adapter"

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 


Mais quand je lance cet exemple (il créer des tables et imprimer quelques statistiques simples) Je reçois la erreur suivante:

/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 

J'ai essayé d'installer cette activationecord-sqlite ... gem mais on ne la trouve nulle part. J'ai cherché avec google et il m'a eu aucuns coups sur ce nom de gem non plus.

Les gemmes suivantes en rapport avec sqlite/activerecords sont installés:
(I installé 'activerecord', 'sqlite3-ruby' et 'activerecord-jdbcsqlite3 adaptateur' allthoug ce dernier sera utilisé pour 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) 

Quelqu'un peut-il s'il vous plaît proposer une solution à mon problème? Je ne vois vraiment pas comment je peux trouver/installer l'adaptateur nécessaire pour sqlite3/activerecords. Comment ça s'appelle? Il est évidemment pas l'adaptateur qui est suggéré par le message d'erreur car il ne se trouve pas sur place ou dans un dépôt ...

Répondre

2

Juste un coup de feu dans l'obscurité, mais avez-vous essayé de changer:

: Adaptateur = > "sqlite3-ruby",

à

: adaptateur => "sqlite3",

+1

était il y a longtemps que j'avais le problème ci-dessus. Thx pour toujours fournir une entrée si. :) – fgysin