2011-10-19 17 views
16

W jaki sposób ludzie zapisują swoje migracje Railsowe obejmujące Paperclip? Czuję, że może mi brakować czegoś oczywistego, ponieważ pisałem już własne hacki ułatwiające migrację, które ułatwiają, a także zajmują się koniecznymi zmianami systemu plików. Oczywiście należy przetestować takie migracje w środowisku programistycznym (i pomostowym) przed wdrożeniem do produkcji.Jak przeprowadzić migrację railsów za pomocą spinacza do papieru

Paperclip migration rename, add and remove helpers
Paperclip change path migration helper (naprawdę nie było migracji bazy danych, ale myślę, że pasuje całkiem ładne zresztą)

Czy są jakieś lepsze rozwiązania i najlepsze praktyki? niektórzy ludzie wydają się tworzyć zadania rake itp., co wydaje się dość uciążliwe.

Odpowiedz

37

Istnieje generatory włączone gem dla tego:

szyn 2:

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

szyny 3:

rails generate paperclip Class attachment1 (attachment2 ...) 

np

rails generate paperclip User avatar 

generuje:

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 

Zobacz także metody pomocnicze stosowane w przykładzie w 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

Dzięki, byłbym nieco bardziej jasne, że w większości przeznaczone migracje udziałem istniejące kolumny spinacza i zmiana nazwy i zmiana ścieżki, która będzie wymagać zmian w systemie plików itp. –

+1

Ah, sprawdź to pytanie: http://stackoverflow.com/questions/270811 5/pliki do zmiany nazwy spinacza-po-uratowano/6335337 # 6335337 – Jared

+0

Ok, ta lokka jest mniej więcej taka, jaką robię w moich pomocnikach. Zgadnij, jak ludzie to robią. –

Powiązane problemy