Bonjour à tous.

Je viens vers vous avec une question qui découle d'un constat. Après
quelques années de PHP, et plusieurs tentatives pas forcément concluentes de
mapping objet/relationnel "maison", c'est tout naturellement que je me suis
tourné vers Rails après avoir englouti un ouvrage et quelques tutoriels sur
le sujet.

Comme la théorie ne suffit pas, je me suis lancé dans un projet complet basé
sur Ruby on Rails, et jusqu'ici tout va bien. Ou presque. Hier j'ai buté sur
un petit soucis. Suite à un oubli des plus fâcheux, j'avais oublié de créer
une de mes clefs étrangères dans ma base... J'utilise donc le système de
migration de rails afin de mettre à jour ma table de la meilleure façon qui
soit, et après un rake db:migrate, stupeur, un message d'erreur des plus
particuliers en provenance d'une des classes du framework me disait que j'ai
essayé de faire appel à nil.[].

Après quelques temps de recherche, et quelques relectures, je suis arrivé au
constat suivant:
create_table "matable" do |t|
 t.column :monchamp, :integer
end


Me créée bien sûr une table avec un champ qui est un entier. La procédure
suivante, contenant une erreur de ma part, lui est pourtant équivalente:
create_table "matable" do |t|
 t.column :monchamp, :int
end

Si je veux rajouter un autre entier:
add_column :matable, :monchamp2, :integer

Marche très bien, mais:
add_column :matable, :monchamp2, :int

Cause l'erreur évoquée ci dessus. Ce phénomène est il connu, expliqué ?
Désolé pour la question de débutant, simplement, j'essaye de comprendre un
peu mon nouvel environnement ;)
_______________________________________________
Railsfrance mailing list
Railsfrance@rubyonrails.fr
http://lists.rubyonrails.fr/mailman/listinfo/railsfrance

Répondre à