2010-02-11 2 views
5

J'ai d'énormes fichiers texte à traiter et à donner un sens aux données. Une partie de la tâche consiste à enregistrer ces données dans une base de données. Je veux utiliser Ruby, avec postgres ou mysql, postgres étant le premier choix. Quelles bibliothèques dois-je inclure? Il n'y a pas de modèle, ça va être des instructions SQL simples. Comment faire cela sans rails?Utilisation de ruby ​​avec des bases de données, mais sans rails

Répondre

4

Pour PostgreSQL, vous voulez ruby-pg. Il fournit à votre connexion de base de données de base la possibilité de l'interroger. La documentation est éparse, mais il existe de nombreux exemples de code dans l'arborescence source. Voici une assez simple un:

https://bitbucket.org/ged/ruby-pg/src/e4465a9779faed39825213d140df6b1531bb1e68/spec/pg/result_spec.rb?at=default

Edit: Le site MySQL énumère quelques options pour la connexion à MySQL.

http://dev.mysql.com/downloads/ruby.html

+0

c'est génial, merci. une bibliothèque pour mysql? – user61734

+0

Le lien est mort, avez-vous une alternative? – JohnMerlino

+0

@JohnMerlino Ils semblent avoir changé leurs tests autour. Mais j'ai mis à jour le lien vers un exemple comparable. –

0

Vous recherchez ActiveRecord, qui fournit la connectivité à la base de données. Une recherche rapide sur google suggérée this pourrait être un bon point de départ.

+1

Non, je ne veux pas utiliser ORM (activerecord est ORM, non?) Je veux écrire mes propres instructions SQL, comme la façon dont nous le faisons avec mysql_query , mysql_connect etc en PHP. – user61734

+0

Oui, ActiveRecord est un ORM et est trop puissant pour exécuter des instructions SQL simples. –

+0

encore et orm mais sa lumière et faaast http://datamapper.org/getting-started.html - datamapper. c'est aussi facile à utiliser les rails extérieurs – ADAM

4

Sequel - sequel.rubyforge.org - est super aussi. En utilisant la bibliothèque de base (pas le modèle ORM de Sequel :: Model), vous pouvez écrire des requêtes/instructions comme SQL en utilisant la syntaxe Ruby.

0

pour MySQL, consultez le mysql2 joyau

#>> gem install mysql2 
require 'mysql2' 

client = Mysql2::Client.new(:host => "localhost", :username => "root") 
Questions connexes