Enfin! Avec l’aide de Brice (parce que je suis archi-nul en commandes linux), j’ai réussi à installer les gems DBI et MySQL pour Ruby. Le module DBI permet d’avoir une interface pour gérer les bases de données en Ruby. Je voulais utiliser MySQL donc j’ai aussi installé MySQL puis la gem MySQL pour DBI.
Installation de MySQL
Sous Ubuntu, j’ai fait :
sudo apt-get install mysql-server
Ensuite, j’ai créé un accès et une base de données pour pouvoir l’utiliser par la suite en Ruby :
mysql> GRANT ALL ON test.* TO 'testuser'@'localhost' IDENTIFIED BY 'testpass'; mysql> CREATE DATABASE test;
J’ai donc une base appelée “test” à laquelle je peux accéder avec le login “testuser” et le mdp “testpass”.
Installation des gems DBI et MySQL
Quand je parle de “gems”, je parle de RubyGems, un gestionnaire de paquets pour Ruby. En gros, c’est des plugins pour Ruby. On va d’abord installer le gem DBI :
gem install dbiPour le gem MySQL par contre, j’ai du faire une manip spéciale :
sudo apt-get install libmysqlclient15-dev sudo gem install mysql sudo gem install dbd-mysql
J’ai installé une lib spéciale : libmysqlclient15-dev. Je ne sais pas trop ce que c’est mais ça a marché. Puis j’ai installé les gem mysql et dbd-mysql. Le dernier permet au module DBI de pouvoir interagir avec MySQL.
Test de MySQL dans Ruby
J’ai pu lancer un script DBI qui utilise la base de données créée au début :
require "dbi" begin # connect to the MySQL server dbh = DBI.connect("DBI:Mysql:test:localhost", "testuser", "testpass") # get server version string and display it row = dbh.select_one("SELECT VERSION()") puts "Server version: " + row[0] rescue DBI::DatabaseError => e puts "An error occurred" puts "Error code: #{e.err}" puts "Error message: #{e.errstr}" ensure # disconnect from server dbh.disconnect if dbh end
Ca me donne :
Server version: 5.0.75-0ubuntu10Whaou! Enfin! Gagné! J’ai en réalité installé beaucoup d’applis et beaucoup de gems, mais je pense que l’essentiel est là. Si quelqu’un suit ces manips, merci de me dire si c’est suffisant ou pas.
Flux RSS
A vue de nez je dirais que c’est plus que suffisant, mais le principal c’est que ça fonctionne….
ce qui est plus étonnant, c’est que sur ta Ubuntu, les quelques commandes que j’ai données dans mon test (voir commentaires du post précédent) tu aurais du avoir DBI fonctionnel…
Par contre, c’est peut-être plus intéressant en effet d’installer DBI en tant que gem via ‘gem install’, du coup… Ce qui m’amène à penser que le paquet ‘libmysqlclient15-dev’ est en lien étroit avec le ‘libdbd-mysql’ qui lui inclut le DBI…
Tu vas pouvoir t’amuser
si j’y pense, et qu’elle y est pas déjà, j’testerai ta manip’ sur une autre ubuntu (j’ai pas trop envie de tester sur mon serveur
)
[...] On va utiliser la lib ActiveRecord pour créer une table dans MySQL et y ajouter des entrées. Au préalable, il faut que vous ayez installé MySQL et ActiveRecord, comme je l’ai expliqué hier et avant-hier. [...]