Nasıl Raylar geçiş veritabanında bir sütun isim verebilir miyim?
Ben yanlış hashed_password
yerine sütun hased_password
adlı.
Nasıl geçiş bu sütunu yeniden adlandırma kullanarak veritabanı şemasını güncelleştirmek için?
CEVAP
rename_column :table, :old_column, :new_column
Güncelleme:
Muhtemelen bunu yapmak için ayrı bir geçiş oluşturmak istersiniz. (Gibi yeniden FixColumnName)
script/generate migration FixColumnName
# creates db/migrate/xxxxxxxxxx_fix_column_name.rb
O zaman senin için geçiş düzenleyin.
# db/migrate/xxxxxxxxxx_fix_column_name.rb
class FixColumnName < ActiveRecord::Migration
def self.up
rename_column :table_name, :old_column, :new_column
end
def self.down
# rename back if you need or do something else or do nothing
end
end
Raylar için bir güncelleme 3.1
Sırada, up
down
metot hala geçerli. Raylar 3.1 "knows how to migrate your database and reverse it when the migration is rolled back without the need to write a separate down method" change
bir yöntem alır
rails g migration FixColumnName
class FixColumnName < ActiveRecord::Migration
def change
rename_column :table_name, :old_column, :new_column
end
end
Eğer sütun bir sürü yeniden adlandırmak için, eğer mümkünse, ya da gerekli bir şey tekrar tekrar tablo ismi Tekrarlıyor.
rename_column :table_name, :old_column1, :new_column1
rename_column :table_name, :old_column2, :new_column2
...
change_table
işler biraz kıvrımlara tutmak için kullanabilirsiniz.
class FixColumnNames < ActiveRecord::Migration
def change
change_table :table_name do |t|
t.rename :old_column1, :new_column1
t.rename :old_column2, :new_column2
...
end
end
end
Sen, Luke
&& Turadg
, konuyu açtığın için teşekkür ederim.
db:migrate
siz kendi işinize bakın ancak her zamanki gibi ya o zaman.
Nasıl sütun Raylar geçiş kullanarak da...
nasıl sütun benzersiz yapmak ve Raylar...
Nasıl Raylar bir geçiş değil null null...
Nasıl MAX(Sütun değeri), SQL başka bir...
Raylar Geçiş bir dosyayı geri almak iç...