ruby-on-rails paperclip rails-migrations

ruby on rails - Cómo hacer la migración de Rails con Paperclip.



ruby-on-rails rails-migrations (1)

¿Cómo escriben las personas sus migraciones de Rails que involucran Paperclip ? Siento que me podría estar perdiendo algo obvio, ya que ahora he escrito mis propios trucos de ayuda a la migración que lo hacen más fácil y también me ocupo de hacer los cambios necesarios en el sistema de archivos. Y, por supuesto, debe probar ejecutar este tipo de migraciones en un entorno de desarrollo (y de almacenamiento) antes de implementarlo en producción.

Migración de clip de papel renombrar, agregar y eliminar ayudantes
Ayudante de migración de ruta de cambio de clip (no es realmente una migración de base de datos, pero creo que se ajusta bastante bien de todos modos)

¿Hay mejores soluciones o mejores prácticas? Algunas personas parecen crear tareas de rake, etc. que se sienten bastante incómodas.


Hay generadores incluidos en la gema para esto:

Rieles 2:

script/generate paperclip Class attachment1 (attachment2 ...)

Carriles 3:

rails generate paperclip Class attachment1 (attachment2 ...)

p.ej

rails generate paperclip User avatar

genera:

class AddAttachmentsAvatarToUser < ActiveRecord::Migration def self.up add_column :users, :avatar_file_name, :string add_column :users, :avatar_content_type, :string add_column :users, :avatar_file_size, :integer add_column :users, :avatar_updated_at, :datetime end def self.down remove_column :users, :avatar_file_name remove_column :users, :avatar_content_type remove_column :users, :avatar_file_size remove_column :users, :avatar_updated_at end end

También vea los métodos de ayuda utilizados en el ejemplo en el Paperclip

class AddAvatarColumnsToUser < ActiveRecord::Migration def self.up change_table :users do |t| t.has_attached_file :avatar end end def self.down drop_attached_file :users, :avatar end end