La bonne syntaxe c'est :integer



Le 06/04/07, Nightou <[EMAIL PROTECTED]> a écrit :

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


_______________________________________________
Railsfrance mailing list
Railsfrance@rubyonrails.fr
http://lists.rubyonrails.fr/mailman/listinfo/railsfrance

Répondre à