Raylar göçler: bireysel.ve öz.aşağı karşı değiştirin
Yeni raylar sürümü gibi görünüyor "" kendine karşı.değişiklik var ve öz.aşağı yöntemleri.
Bir geçiş geri almak için zaman nasıl gerçekleştirmek için ne, biliyor musunuz ne oluyor Peki. Online öğretici dayalı uygulamak için ihtiyacım olan şu yöntem var:
class AddImageToUsers < ActiveRecord::Migration
def self.up
add_column :users, :image_file_name, :string
add_column :users, :image_content_type, :string
add_column :users, :image_file_size, :integer
add_column :users, :image_updated_at, :datetime
end
def self.down
remove_column :users, :image_file_name, :string
remove_column :users, :image_content_type, :string
remove_column :users, :image_file_size, :integer
remove_column :users, :image_updated_at, :datetime
end
end
Nasıl aynı yeni değişim yöntemi kullanarak yapabilirim?
CEVAP
Pek çok işlem içinraylar ters işlem ne olduğunu tahmin edebilirsiniz(sorun olmadan). Senin durumunda örneğin, add_column
ters işlem, geri alma çağrısı nedir? Elbette remove_column
. create_table
ters nedir? drop_table
. Bu durumda raylar ve geri alma down
bir yöntemi gereksiz (belgelerinde methods currently supported from the change method görebilirsiniz) tanımlamak için biliyorum.
Ama dikkatinizi verinbir tür operasyon için hala down
yöntemi tanımlamak gerekirörneğin , eğer değiştirirseniz ondalık sütun hassasiyetle nasıl geri alma orijinal hassas sanırım? Mümkün değil, down
yöntemi tanımlamak gerekir.
Dediğim gibi, sana Rails Migrations Guide okumanızı öneririm.
Raylar göçler: bir sütun için varsayıl...
Nasıl Raylar göçler test edebilirim?...
Taze Raylar bir proje için PostgreSQL ...
Nasıl göçler Raylar Gıt dalları ile ça...
Raylar göçler 3: Ekleme referans sütun...