Bonjour à tous,
Nous rencontrons un petit problème avec Ruby on Rail et MySQL
Nous avons deux postes Mac OS X Tiger en reseau local, poste à poste. Une base MySQL est installée sur l'un des deux postes, et Ruby on Rails est installé sur les deux (avec Locomotive). Nous faisons le même projet sur chacun de nos postes, mais en utilisant le même serveur Mysql.
Notre problème est le suivant : nous avons suivi un tutoriel pour la création d'une application basique de gestion de bibilothèque de CD. Nous définissons la première table dans le fichier "001_create_cds.rb" comme ci dessous :
Nous faisons alors un "rake db:migrate" depuis l'ordinateur où la base est installée, en local donc.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 class CreateCds < ActiveRecord::Migration def self.up create_table :cds do |t| t.column :title, :string t.column :author, :string t.column :description, :string end end def self.down drop_table :cds end end
Les tables se créent bien, aucun problème.
Mais quant on essaye de faire la même chose depuis l'autre ordinateur (nous ne sommes alors plus en local), en ayant ecris le MEME fichier et en ayant suivi les même étapes avant, le terminal nous renvoi :
Quant on regarde dans la base, grace à phpmyadmin, la première table "shéma_info" à bien été créée pendant cette dernière manip malgré le message d'erreur, mais pas notre table "cds". La base a donc quand même été manifestement atteinte.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 rake aborted! ./db/migrate//001_create_cds.rb:1: syntax error, unexpected ':', expecting '\n' or ';' endndrop_table :cdsescription, :stringion
Nous avons vérifié, le code est STRICTEMENT identique dans nos deux fichiers .rb.
Il semble donc qu'il faille réaliser une manipulation spécifique pour pouvoir utiliser RoR en liaison avec une base mysql installée sur un autre ordinateur du reseau.
Quelqu'on aurait-il la solution à ce probèlme ?
Merci !
Partager