2011-10-19 17 views
16

¿Cómo escriben las personas sus migraciones de Rails que implican Paperclip? Siento que me podría estar perdiendo algo obvio ya que ahora he escrito mis propios hacks de ayudantes de 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 en etapas) antes de implementarlo en producción.Cómo hacer la migración de rieles con Paperclip

Paperclip migration rename, add and remove helpers
Paperclip change path migration helper (no es realmente una migración de base de datos, pero creo que encaja bastante bien, de todos modos)

¿Hay alguna solución mejor o mejores prácticas? algunas personas parecen crear tareas de rastrillaje, etc., lo que parece bastante engorroso.

Respuesta

37

Hay generadores incluyen en la gema para esto:

Carriles 2:

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

Rails 3:

rails generate paperclip Class attachment1 (attachment2 ...) 

por ejemplo

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 

consulta las métodos auxiliares utilizados en el ejemplo de la readme

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 
+0

Gracias, que debería haber sido un poco más claro que las migraciones en su mayoría destinados participación columnas existentes de clip y hacer cambios de nombre y cambio de ruta que necesitarán cambios en el sistema de archivos, etc. –

+1

Ah, mira esta pregunta, entonces: http://stackoverflow.com/questions/270811 5/paperclip-cambio de nombre-archivos-después-theyre-saved/6335337 # 6335337 – Jared

+0

Ok, ese locka más o menos como lo que hago en mis ayudantes. Supongo que así es como las personas lo hacen. –

Cuestiones relacionadas