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