Raylar bir geçiş varolan bir tabloya sütun ekleme
:email
bir sütun ihtiyacı olan Kullanıcılar bir model (ilk iskele sırasında bu sütun eklemek için unuttum) var.
Geçiş dosyasını açtım ve t.string :email
, 4 ** NoMethodError
var mı eklendi. O satırı ben ekledim
add_column :users, :email, :string
tekrar rake db:migrate
, NoMethodError
tekrar. Bir adım kaçırıyorum?
Edit: buraya göç dosyası.
class CreateUsers < ActiveRecord::Migration
def self.up
add_column :users, :email, :string
create_table :users do |t|
t.string :username
t.string :email
t.string :crypted_password
t.string :password_salt
t.string :persistence_token
t.timestamps
end
end
def self.down
drop_table :users
end
end
CEVAP
Eğer zaten orijinal geçiş (düzenlemeden önce) çalıştırmak varsa, o zaman yeni bir göç (rails generate migration add_email_to_users email:string
işinizi görecektir) oluşturmak gerekir. rake db:migrate
ve yeni geçiş yapacağız o zaman.
Eğer Henüz orijinal geçiş çalıştırdıysanız sadece yapmaya çalıştığın gibi düzenleyebilirsiniz. Geçiş koduneredeysemükemmel: sadece kaldırmak add_column
hat tamamen (bu kod çalışıyor eklemek bir sütun için bir tablo, masa oluşturuldu ve tablo oluşturma kodu var zaten. eklemek için t.string :email
Her neyse).
Değiştirmek için geçiş raylar sütun...
Raylar göçler 3: Ekleme referans sütun...
Raylar referans sütun bir geçiş ekleme...
Nasıl sütun Raylar geçiş kullanarak da...
Ekleme :varsayılan => mevcut Raylar...