Vivre avec Rails Edge #19
Traduction de la news #19
Le rapport de cette semaine couvre les changements du 29 Avril 2008 au 4 Mai 2008 (jour correspondant à l'enregistrement de Rails Envy podcast).
change_table pour les migrations d'ActiveRecord
Merci à Jeff Dean, qui a aussi blogué au sujet de la nouvelle fonctionnalité change_table des migrations d'ActiveRecord. Vous pouvez donc maintenant changer une table avec un block comme ceci :
change_table :videos do |t| t.add_timestamps t.add_belongs_to :goat t.add_string :name, :email, :limit => 20 t.remove_column :name, :email # prend de multiples arguments t.rename :new_name t.string :new_string_column # execute avec le changement de nom de la table end
Parmis les principaux points à noter :
add_XXXpermettant d'ajouter une nouvelle colonne, exemple :add_stringqui ajoutera un nouveau champs string.- Bien-sûr,
add_timestampspermet d'ajouter les champs datetime magicscreated_atetupdated_at remove_columnpeux dorénavant prendre plusieurs arguments.renamequi renommera la table.
Très belle amélioration DRY proposée par Jeff Dean une fois encore.
Révision concernant cette fonctionnalité : http://github.com/rails/rails/commit/96980bd561d79824b6cb6efbcbecdcbf8785d452
ActiveRecord::Base.create prend un block comme ActiveRecord::Base.new
Youpie, maintenant vous pouvez aussi créer (ActiveRecord::Base.create) un objet ActiveRecord avec un block en argument exactement comme vous pouviez le faire avec ActiveRecord::Base.new:
@person = Person.create(params[:person]) do |p| p.name = 'Konata Izumi' p.age = 17 end
Merci a Adam Meehan pour ce patch.
Révision concernant cette fonctionnalité : http://github.com/rails/rails/commit/dd120ede53eaf71dee76894998a81626b7a689fc
Bugfix: change_column doit permettre d'utiliser :null => true sur les champs qui ne l'étaient pas précédement.
Vous pouvez désormais utiliser change_column dans vos migrations pour modifier une colonne en nullable si elle était précédement NOT NULL.
Ce bugfix est gentiment offert par Nate Wiger.
Révision concernant cette fonctionnalité : http://github.com/rails/rails/commit/10ef65a3b054270ed3d458ec8eb7c2b9a3e638f7
Comme toujours, vous pouvez laissez toutes suggestions pour améliorer cette série de Vive avec Rails.
Enfin merci à Chu Yeow de m'encourager dans la traduction de ses magnifiques news
Lun 05 mai 2008 11:21 Publié sous ruby
Mots clés edge, nouveaute, ruby, ruby_on_rails, traduction